我有一个Recyclerview,我必须放置滚动时保持稳定的背景图像。
我尝试为父级布局提供背景,还尝试将边框布局与背景图像一起添加。
<?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:background="@drawable/bg_alpha_main"
android:orientation="vertical">
<android.support.v7.widget.RecyclerView
android:id="@+id/submenuRv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:nestedScrollingEnabled="true"
app:layoutManager="android.support.v7.widget.GridLayoutManager"
app:spanCount="2"
tools:listitem="@layout/submenu_items" />
</LinearLayout>
我希望图像在滚动时仍会停留在背景中,但图像会变得与回收站视图高度一样大
答案 0 :(得分:0)
您可以在ImageView
内添加FrameLayout
作为顶级子级,这样它就可以作为背景,而RecyclerView
作为第二个子级,因此它总是位于{ {1}}。
查看以下布局:
ImageView
然后,如果<FrameLayout 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" >
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/background"
android:scaleType="centerCrop"
/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/submenuRv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:nestedScrollingEnabled="true"
app:spanCount="2" />
</FrameLayout>
背景仍显示为白色,则可以将其设置为RecyclerView
。
答案 1 :(得分:0)
我用ConstraintLayout
做的是我的布局文件
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:background="@drawable/full_background"
tools:showIn="@layout/activity_main">
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
tools:listitem="@layout/list_item" />
</android.support.constraint.ConstraintLayout>
根据需要更改RecyclerView
属性。以上布局正在从我的应用中删除。希望对您有帮助。
答案 2 :(得分:0)
要使用FrameLayout固定布局背景,请尝试以下代码:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@drawable/bg"
android:orientation="vertical">
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:nestedScrollingEnabled="true"
app:layoutManager="android.support.v7.widget.GridLayoutManager"
app:spanCount="2"/>
</FrameLayout>
希望它对您有用。