1. 程式人生 > >Android (爭取做到)最全的底部導航欄實現方法

Android (爭取做到)最全的底部導航欄實現方法

本文(爭取做到)Android 最全的底部導航欄實現方法.

現在寫了4個主要方法.

還有一些個人感覺不完全切題的方法也會簡單介紹一下.

方法一. ViewPager + List<View> + PagerAdapter

先看activity_main.xml
  1. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  2.     xmlns:tools="http://schemas.android.com/tools"
  3.     android:layout_width
    ="match_parent"
  4.     android:layout_height="match_parent"
  5.     android:orientation="vertical">
  6.     <LinearLayout
  7.         android:layout_width="match_parent"
  8.         android:layout_height="45dp"
  9.         android:background="#0E6DB0"
  10.         android:gravity="center"
  11.         android:orientation
    ="vertical">
  12.         <TextView
  13.             android:layout_width="wrap_content"
  14.             android:layout_height="wrap_content"
  15.             android:layout_gravity="center"
  16.             android:text="@string/app_name"
  17.             android:textColor="#ffffff"
  18.             android:textSize="20sp"
  19.             android:textStyle="bold"/>
  20.     </LinearLayout>
  21.     <android.support.v4.view.ViewPager
  22.         android:id="@+id/viewPager"
  23.         android:layout_width="match_parent"
  24.         android:layout_height="0dp"
  25.         android:layout_weight="1">
  26.     </android.support.v4.view.ViewPager>
  27.     <LinearLayout
  28.         android:layout_width="match_parent"
  29.         android:layout_height="55dp"
  30.         android:background="#0E6DB0"
  31.         android:orientation="horizontal">
  32.         <LinearLayout
  33.             android:id="@+id/llChat"
  34.             android:layout_width="0dp"
  35.             android:layout_height="match_parent"
  36.             android:layout_weight="1"
  37.             android:gravity="center"
  38.             android:orientation="vertical">
  39.             <ImageView
  40.                 android:id="@+id/ivChat"
  41.                 android:layout_width="wrap_content"
  42.                 android:layout_height="wrap_content"
  43.                 android:background="#00000000"
  44.                 android:src="@drawable/tab_chat"/>
  45.             <TextView
  46.                 android:id="@+id/tvChat"
  47.                 android:layout_width="wrap_content"
  48.                 android:layout_height="wrap_content"
  49.                 android:text="微信"
  50.                 android:textColor="@drawable/tab_textview"/>
  51.         </LinearLayout>
  52.         <LinearLayout
  53.             android:id="@+id/llFriends"
  54.             android:layout_width="0dp"
  55.             android:layout_height="match_parent"
  56.             android:layout_weight="1"
  57.             android:gravity="center"
  58.             android:orientation="vertical">
  59.             <ImageView
  60.                 android:id="@+id/ivFriends"
  61.                 android:layout_width="wrap_content"
  62.                 android:layout_height="wrap_content"
  63.                 android:background="#00000000"
  64.                 android:src="@drawable/tab_friends"/>
  65.             <TextView
  66.                 android:id="@+id/tvFriends"
  67.                 android:layout_width="wrap_content"
  68.                 android:layout_height="wrap_content"
  69.                 android:text="朋友"
  70.                 android:textColor="@drawable/tab_textview"/>
  71.         </LinearLayout>
  72.         <LinearLayout
  73.             android:id="@+id/llContacts"
  74.             android:layout_width="0dp"
  75.             android:layout_height="match_parent"
  76.             android:layout_weight="1"
  77.             android:gravity="center"
  78.             android:ori