我想定义一个如下所示的布局:
我的意思是将黄色区域放在屏幕顶部,使其始终在屏幕上可见,而绿色区域为<ScrollView>
。
我正在考虑定义两个单独的布局文件,例如 yellow_area.xml &amp; green_area.xml ,并将其包含在一个 main.xml 中。
但如何保持黄色区域始终可见&amp;绿色区域可滚动? (那就是让黄色区域看起来像是在绿色区域之上)
答案 0 :(得分:3)
我正在考虑定义两个单独的布局文件,例如yellow_area.xml&amp; green_area.xml,并将它们包含在一个main.xml中。
如果你想重复使用其中一个或两个,那么这样做或使用fragments
是一个好主意......无论哪种情况最适合你的情况。
但如何保持黄色区域始终可见&amp;绿色区域可滚动? (那就是让黄色区域看起来像是在绿色区域之上)
您应该可以使用RelativeLayout并使用属性
来完成此操作android:layout_below="@id/topLayout"
假设<include>
是您的“黄色”layout
的{{1}},请在topLayout
标记中找到“绿色id
。
修改强>
我认为由于所包含的layout
内部View
的数量,我的上述答案无效。使用layout
作为LinearLayout
并在每个孩子parent layout
内使用layout_weight
(和layout
修复问题。像
ListView
使用 ?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal"
>
<!--included a title_layout-->
<include
android:id="@+id/upper_area"
android:layout_width="fill_parent"
android:layout_height="0dp"
layout="@layout/title_layout"
android:layout_weight=".25"/> // add weight here
<!--Listview below title_layout-->
<ListView
android:id="@+id/data_list"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight=".75" /> // and here
</LinearLayout>
方向的layout_weight
,vertical
必须设置为height
(水平方向为0dp
)
答案 1 :(得分:0)
使用下面的布局,将framelayout作为片段的持有者。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<FrameLayout
android:id="@+id/fragment_holder"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2">
<!--Whatever you want in the scrollview-->
</ScrollView>
</LinearLayout>
答案 2 :(得分:0)
这应该有效。使用权重来改变每个部分应占用的数量。
<LinearLayout
...android:orientation="vertical"
>
<TextView
...android:layout_height="fill_parent"
android:layout_weight=".25"/>
<ScrollView
...android:layout_height="fill_parent"
android:layout_weight=".75"/>
/>
我刚刚收录了重要部分,您需要根据自己的需求填写更多信息。 textview可以是任何东西,看起来它可能需要像其他布局一样将那张图片放在旁边,旁边有文字。