使用RecycleView
设计布局以显示图像。在RecycleView
下方添加了一个按钮,用于保存列表中的所选项目。在设计视图中和运行应用程序时,按钮不可见。无法追踪问题所在。代码是:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:fitsSystemWindows="true"
tools:context="com.example.user.recycleview.imagesview">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:theme="@style/AppTheme.AppBarLayout">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/titlebar"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<view
android:layout_width="fill_parent"
android:layout_height="fill_parent"
class="android.support.v7.widget.RecyclerView"
android:id="@+id/recycler_view" />
<Button
android:id="@+id/button7"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="@drawable/savebutton"
android:text="@string/save"
android:textColor="@color/white"
android:textSize="12pt" />
<!--
Deleted fab element
-->
</LinearLayout>
答案 0 :(得分:5)
1。在RelativeLayout
下面添加AppBarLayout
,并将Button
和RecyclerView
放在RelativeLayout
内。
2。将属性android:layout_alignParentBottom="true"
添加到Button
,以便在bottom
屏幕上对齐。
3。将属性android:layout_above="@id/button7"
添加到RecyclerView
,以便在Button
上方显示。
更新您的布局,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:fitsSystemWindows="true">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:theme="@style/AppTheme.AppBarLayout">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button7"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="Save"
android:textColor="@android:color/black" />
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/button7"/>
</RelativeLayout>
</LinearLayout>
<强>输出:强>
答案 1 :(得分:0)
您将recyclerview视为#[naked]
pub extern "C" fn dispatch_svc(){
Cpu::save_context();
let mut nr: u32 = 0;
unsafe {
asm!("ldr r0, [lr, #-4]
bic $0, r0, #0xff000000":"=r"(nr)::"r0":"volatile")
};
swi_service_routine(nr);
Cpu::restore_context_and_return();
}
。因此它将占据整个屏幕,并且按钮将不可见。尝试使用下面提到的权重。
fill_parent
您可以使用权重来提供动态高度
android:layout_width="fill_parent"
android:layout_height="fill_parent"
或者您可以通过calculating the height of the screen
在java中动态设置高度<LinearLayout ...
android:layout_weight="10">
<view
android:layout_width="fill_parent"
android:layout_weight="9"
android:layout_height="0px"
class="android.support.v7.widget.RecyclerView"
android:id="@+id/recycler_view"
android:layout_marginBottom="130px"/>
<Button
android:layout_width="100px"
android:layout_height="0px"
android:text="Save"
android:layout_weight="1"/>
</LinearLayout>
答案 2 :(得分:0)
由于您已将height
的{{1}}设置为RecyclerView
,因此无法看到该按钮。
有几种方法可以解决这个问题:
将fill_parent
更改为height
或设置
wrap_content
更改为height
或设置固定的wrap_content
height
作为基本布局,并使用RelativeLayout
添加RecyclerView
属性。因此layout_above
不会将您的RecyclerView
推到下面。注意:您应该使用Button
,因为match_parent
现已弃用