gpt4 book ai didi

android - 在 LinearLayout 下方对齐 RecyclerView

转载 作者:太空狗 更新时间:2023-10-29 15:01:07 24 4
gpt4 key购买 nike

我有一个名为“页脚”的线性布局,我想将其放在 RecyclerView(API 21 中引入的一种新型列表)下方。

  1. recyclerview 可能希望有一个"match_parent" 高度以有效地使用内存(避免不必要的计算)。
  2. 我不应该首先使用 recyclerview,因为那样它会占据整个屏幕并且页脚将不可见。
  3. 因为 recyclerview 排在第二位 linearlayout 不应该有 "match_parent" 高度,因为 recyclerview 不会被看到,我也不需要页脚来拉伸(stretch)。

所以我有 linearlayout "footer",高度首先在我的根 relativelayout 中,然后是 recyclerview 将是 "match_parent",并在“页脚”上方指定:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">

<LinearLayout
android:id="@+id/footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<ImageView
android:id="@+id/addTaskImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:src="@drawable/ic_edit"
android:visibility="visible" />

<RelativeLayout
android:id="@+id/addTaskRL"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone">

<EditText
android:id="@+id/taskET"
android:layout_width="match_parent"
android:layout_height="150sp"
android:background="@color/White">
</EditText>

<RelativeLayout
android:id="@+id/paletteRed"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_below="@id/taskET"
android:layout_marginLeft="50dp"
android:layout_marginTop="10dp"
android:background="@color/Red" />

<RelativeLayout
android:id="@+id/paletteOrange"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_below="@id/taskET"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_toRightOf="@id/paletteRed"
android:background="@color/Orange" />

<RelativeLayout
android:id="@+id/paletteGreen"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_below="@id/taskET"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_toRightOf="@id/paletteOrange"
android:background="@color/Green" />

<RelativeLayout
android:id="@+id/paletteRoyalBlue"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_below="@id/taskET"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_toRightOf="@id/paletteGreen"
android:background="@color/RoyalBlue" />

<RelativeLayout
android:id="@+id/palettePurple"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_below="@id/taskET"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_toRightOf="@id/paletteRoyalBlue"
android:background="@color/Purple" />

<Button
android:id="@+id/submitBtn"
android:layout_width="70dp"
android:layout_height="30dp"
android:layout_below="@id/taskET"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_toRightOf="@id/palettePurple"
android:background="@color/SkyBlue"
android:textColor="@color/White"
android:text="@string/submit">
</Button>
</RelativeLayout>
</LinearLayout>

<android.support.v7.widget.RecyclerView
android:id="@+id/tasksRV"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/footer"/>
</RelativeLayout>

我知道这是一个布局问题,只是因为如果我删除页脚,就会显示我的 recyclerview。我对上述布局的误解是什么?

最佳答案

你只是忘了添加这一行

android:layout_alignParentBottom="true"

到您的页脚布局,以便将其锚定到 RelativeLayout 的底部。

关于android - 在 LinearLayout 下方对齐 RecyclerView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26691357/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com