如果你被迫使用FrameLayout(例如在工具栏中),并且只有一个元素(或很少的元素)需要操作(如按钮),那么你可以使用android:layout_gravity=""
属性来对齐FrameLayout中的元素。
<FrameLayout
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="@string/app_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"/>
</FrameLayout>
如果你的布局中只有很少的元素,可以采取以下两种方法:1)将FrameLayout改为RelativeLayout;2)将所有项包装在RelativeLayout中,并将参数设置为match_parent
<FrameLayout
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimary">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="@string/app_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"/>
</RelativeLayout>
</FrameLayout>