因项目需要,所要实现的效果为:点击后的Tab显示图标和文字,未点击的Tab只显示图标,并且居中。
1、问题:图标不能居中,布局如下:
<LinearLayout android:id="@+id/focusBottomBar" android:layout_width="match_parent" android:layout_height="56dp" android:layout_alignParentBottom="true" android:orientation="horizontal" android:background="@color/white" android:elevation="7dp" android:baselineAligned="false"> <LinearLayout android:id="@+id/focusBottomBarPhotoAlbum" android:layout_width="0dp" android:layout_height="match_parent" android:orientation="vertical" android:layout_weight="1"> <ImageView.../> <TextView... android:visibility="gone"/></LinearLayout> <LinearLayout android:id="@+id/focusBottomBarKnowledgeShare" android:layout_width="0dp" android:layout_height="match_parent" android:orientation="vertical" android:layout_weight="1"> <ImageView.../>
<TextView... android:visibility="gone"/></LinearLayout> <LinearLayout android:id="@+id/focusBottomBarPhotographer" android:layout_width="0dp" android:layout_height="match_parent" android:orientation="vertical" android:layout_weight="1"> <ImageView.../> <TextView... android:visibility="gone"/></LinearLayout></LinearLayout>
2、解决方法
为每个Tab的LinearLayout添加属性 android:gravity="center" 即可
<LinearLayout android:id="@+id/focusBottomBar" android:layout_width="match_parent" android:layout_height="56dp" android:layout_alignParentBottom="true" android:orientation="horizontal" android:background="@color/white" android:elevation="7dp" android:baselineAligned="false"> <LinearLayout android:id="@+id/focusBottomBarPhotoAlbum" android:layout_width="0dp" android:layout_height="match_parent" android:orientation="vertical" android:layout_weight="1" android:gravity="center"> <ImageView.../> <TextView... android:visibility="gone"/></LinearLayout> <LinearLayout android:id="@+id/focusBottomBarKnowledgeShare" android:layout_width="0dp" android:layout_height="match_parent" android:orientation="vertical" android:layout_weight="1" android:gravity="center"> <ImageView.../><TextView ... android:visibility="gone"/></LinearLayout> <LinearLayout android:id="@+id/focusBottomBarPhotographer" android:layout_width="0dp" android:layout_height="match_parent" android:orientation="vertical" android:layout_weight="1" android:gravity="center"> <ImageView.../> <TextView ... android:visibility="gone"/> </LinearLayout></LinearLayout>