社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
App底部导航栏常常会实现这个一个布局,中间的比另外四个高,这种效果很多人就会想到使用一个RelativeLayout布局来实现,其实不用那么麻烦,这种效果一个clipChildren属性就能搞定。
布局xml如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="false"
android:orientation="vertical">
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/content_bg"/>
<LinearLayout
android:id="@+id/bottom_layout"
android:layout_width="match_parent"
android:layout_height="70dp"
android:background="@color/white"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/tab_1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:alpha="1.0"
android:drawableTop="@mipmap/share_weibo"
android:gravity="center"
android:text="首页"
android:textSize="14sp" />
<TextView
android:id="@+id/tab_2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:alpha="0.6"
android:drawableTop="@mipmap/share_weibo"
android:gravity="center"
android:text="行程"
android:textSize="14sp" />
<ImageView
android:layout_width="0dp"
android:layout_height="75dp"
android:layout_gravity="bottom"
android:layout_marginBottom="10dp"
android:layout_weight="1"
android:src="@mipmap/share_weibo" />
<TextView
android:id="@+id/tab_3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:alpha="0.6"
android:drawableTop="@mipmap/share_weibo"
android:gravity="center"
android:text="发现"
android:textSize="14sp" />
<TextView
android:id="@+id/tab_4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:alpha="0.6"
android:drawableTop="@mipmap/share_weibo"
android:gravity="center"
android:text="我的"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
只需要在根节点添加clipChildren属性,然后在需要超出的View上添加layout_gravity属性即可,layout_gravity属性值为bottom表示控件大小超出后控件底部对齐。如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!