我的应用程序布局有问题。
我试图做像Trello这样的布局(trello布局的屏幕,例如来自google)
但我在ScrollView底部的按钮有问题:
现在我的应用程序就像:
所以你怎么看,我总是在显示屏底部的按钮。 我想创建一个Header部分,使用Scrollview和回收器视图的body部分以及带有操作按钮的Footer。
现在我的xml应用程序是:
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/card_view"
android:layout_width="320dp"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<RelativeLayout
android:id="@+id/relativeLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_alignParentTop="true"
android:layout_height="wrap_content"
>
<TextView
android:id="@+id/header_title"
style="@style/card_header_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:orientation="vertical"
android:text="title"
/>
<TextView
android:id="@+id/header_subtitle"
style="@style/card_header_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/header_title"
android:text="subtitle" />
<ImageButton
android:id="@+id/context_menu"
android:layout_width="80dp"
android:layout_height="24dp"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_gravity="right"
android:background="@android:color/transparent"
android:clickable="true"
android:src="@drawable/ic_more_vert_black_16dp"
/>
</RelativeLayout>
<android.support.v4.widget.NestedScrollView
android:layout_below="@+id/header"
android:layout_above="@+id/button_action"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<android.support.v7.widget.RecyclerView
android:id="@+id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/header"
/>
</android.support.v4.widget.NestedScrollView>
<Button
android:id="@+id/button_action"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="@string/button_action"
/>
</RelativeLayout>
</android.support.v7.widget.CardView>
包含&#34;块列表&#34;的父布局是
<HorizontalScrollView
android:id="@+id/horizontalScrollFather"
android:orientation="horizontal"
android:fillViewport="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="wrap_content"
android:descendantFocusability="blocksDescendants"
android:orientation="horizontal"
android:layout_height="wrap_content">
<android.support.v7.widget.RecyclerView
android:id="@+id/list_blocks"
android:layout_width="wrap_content"
android:layout_height="match_parent"
/>
</RelativeLayout>
</HorizontalScrollView>
修改
我试图用以下内容修改我的xml:
<android.support.v4.widget.NestedScrollView
android:id="@+id/myNestedScrollView"
android:layout_below="@+id/header"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<android.support.v7.widget.RecyclerView
android:id="@+id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</android.support.v4.widget.NestedScrollView>
<Button
android:id="@+id/button_action"
android:layout_below="@+id/myNestedScrollView" <!-- as suggested -->
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/button_action"
/>
但现在问题是带有recycleler的scrollview隐藏了Button:
我如何复制布局?
答案 0 :(得分:0)
使用此代码
<android.support.v4.widget.NestedScrollView
android:id="@+id/myNestedScrollView"
android:layout_below="@+id/header"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<android.support.v7.widget.RecyclerView
android:id="@+id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</android.support.v4.widget.NestedScrollView>
<Button
android:id="@+id/button_action"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/myNestedScrollView"
android:text="@string/button_action"/>
更改
不要在Button上执行alignParentBottom并且不要将NestedScrollView放在Button上面而是将Button放在NestedScrollView下面
并且无需在RecyclerView中使用android:layout_below="@id/header"