我有一个带ScrollView的片段和两个LinearLayouts。我希望能够将第一个LinearLayout放在顶部(重力顶部),第二个放在底部。这是我的代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
tools:context=".activities.NavigationDrawerFragment"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@color/darkblue"
android:paddingBottom="40dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="20dp"
android:layout_gravity="center|top">
<ImageView
android:id="@+id/img_drawler_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginLeft="5dp">
<TextView
android:id="@+id/txt_drawler_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/txt_drawler_name"
android:textColor="@android:color/white"
android:textStyle="bold"
android:textSize="20sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:id="@+id/txt_drawler_time_avariable"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/txt_drawler_time_avariable"
android:textColor="@android:color/white"
android:textSize="12sp"
android:textIsSelectable="false" />
<TextView
android:id="@+id/txt_drawler_time_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/empty"
android:textSize="12sp"
android:textColor="@android:color/white"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<ScrollView
android:scrollbars="none"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:id="@+id/id_drawable_scrollView">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="top">
<Button
android:id="@+id/btn_drawler_home"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:gravity="center|left"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingTop="10dp"
android:text="@string/btn_drawler_home"
android:textColor="@android:color/black"
android:textSize="16sp" />
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="@color/lightgray" />
<Button
android:id="@+id/btn_drawler_select"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/btn_drawler_class_select"
android:textColor="@android:color/black"
android:background="@android:color/transparent"
android:gravity="center|left"
android:textSize="16sp"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingLeft="10dp" />
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="@color/lightgray"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@color/green"
android:paddingBottom="20dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="30dp"
android:gravity="bottom">
<TextView
android:id="@+id/btn_drawler_toc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:text="@string/btn_drawler_toc"
android:gravity="left|center"
android:textColor="@android:color/white"
android:textSize="16sp"
android:paddingBottom="20dp"
/>
<TextView
android:id="@+id/btn_drawler_faq"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:text="@string/btn_drawler_faq"
android:gravity="left|center"
android:textColor="@android:color/white"
android:textSize="16sp"
android:paddingBottom="20dp"
/>
<TextView
android:id="@+id/btn_drawler_contact"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:text="@string/btn_drawler_contact"
android:gravity="left|center"
android:textColor="@android:color/white"
android:textSize="16sp"
android:paddingBottom="20dp"
/>
<TextView
android:id="@+id/btn_drawler_logout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:text="@string/btn_drawler_logout"
android:gravity="left|center"
android:textColor="@android:color/white"
android:textSize="16sp"
/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
似乎ScrollView的子节点不能fill_parent或match_parent。这可能吗?
我想要实现的目标
谢谢
更新1
我不确定为什么不使用这种结构,在最后一种情况下滚动不起作用。
<RelativeLayout>
<ScrollView>
<LinearLayout>
<LinearLayout>
</LinearLayoyt>
<LinearLayout>
</LinearLayoyt>
</LinearLayoyt>
</ScrollView>
<LinearLayout>
</LinearLayoyt>
</RelativeLayout>
顺便说一句,我找到一个适合我的设置(使用不同的xml布局),但我不确定为什么它不起作用,也许有人可以帮助我理解。
答案 0 :(得分:1)
而不是使用LinearLayout
,只需使用RelativeLayout
(作为ScrollView
中的包装器)。然后使用:
android:layout_alignParentTop="true"
中的 LinearLayout
android:layout_alignParentBottom="true"
LinearLayout
答案 1 :(得分:0)
您希望位于视图底部的线性布局位于另一个具有“中心|顶部”重力的线性布局下,因此第二个线性布局将位于父布局的底部 尝试将第二个布局作为父级而不是另一个布局的子级