当我在
上学习片段时http://developer.android.com/reference/android/app/Fragment.html
我在layout-land / fragment_layout.xml中看到了以下代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent" android:layout_height="match_parent">
<fragment class="com.example.android.apis.app.FragmentLayout$TitlesFragment"
android:id="@+id/titles" android:layout_weight="1"
android:layout_width="0px" android:layout_height="match_parent" />
<FrameLayout android:id="@+id/details" android:layout_weight="1"
android:layout_width="0px" android:layout_height="match_parent"
android:background="?android:attr/detailsElementBackground" />
</LinearLayout>
为什么fragment和framelayout的layout_width都设置为零?
我在纵向方向上尝试了相同的xml,设置了android:orientation="vertical"
,并显示了一个空白屏幕。那里有什么秘密?我的意思是纵向和横向之间有什么区别? FrameLayout
的特殊功能是什么?
答案 0 :(得分:1)
你要找的东西是权重属性,它将你的LinearLayout
分成两个相等的部分。
秘密是 android:layout_weight =“1” learn more
答案 1 :(得分:0)
如果您的LinearLayout是垂直方向,则每个具有layout_weight属性的项目必须将layout_height设置为0
如果是水平LinearLayout,你必须将layout_width设置为0,如果它有layout_weight