当前位置: 首页 > 知识库问答 >
问题:

是否使空视图占用回收后的剩余空间?

林劲
2023-03-14
________________________
|                       |
|                       |
|                       |
|    Recycler view      |
|                       |
|  -------------------  |
|    colored empty view |
|                       |
|                       |
|                       |
|                       |
|                       |
_________________________

It should shrink as the RecyclerView grows. 

________________________
|                       |
|                       |
|                       |
|    Recycler view      |
|                       |
|                       |
|                       |
|                       |
|                       |
|  -------------------  |
|    colored empty view |
|                       |
|                       |
_________________________

但是,如果RecyclerView超过一个屏幕的值,则不应该有空视图。以下是我目前掌握的情况:

 <?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:fab="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/bla_bla_layout">


    <android.support.v7.widget.RecyclerView
        android:id="@+id/bla_bla_recyclerview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

    <View
        android:background="@color/grayBackground"
        android:layout_gravity="bottom"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

    <com.melnykov.fab.FloatingActionButton
        android:id="@+id/fab"
        android:contentDescription="@string/add_bla"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        android:layout_margin="16dp"
        android:src="@drawable/add_bla_icon"
        fab:fab_colorNormal="@color/primary"
        fab:fab_colorPressed="@color/primary_pressed"
        fab:fab_colorRipple="@color/ripple" />

</FrameLayout>

编辑这不是所提到的问题的副本,如果您阅读了这两个问题,您就可以看到这一点。我的问题的解决方案应该是纯xml的,基于布局的。所谓“空视图”,我指的只是现有RecylerView下面的一些彩色矩形,而不是当RecylerView中没有数据时实际显示“空视图”的textview。

共有1个答案

计和顺
2023-03-14

Recolyer视图在运行时计算它的高度,我们使用LinearLayoutManager指定它的高度和宽度。

但问题是,现在LinearLayoutManager不支持wrap_content,它使用always match_parent作为它的高度。

所以您必须使用这个LinearLayoutManager,而不是Android.support.v7.Widget.LinearLayoutManager。

LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this,
            LinearLayoutManager.VERTICAL, false);
recyclerView.setLayoutManager(linearLayoutManager);
// if it has fixed size
recyclerView.setHasFixedSize(true);
 类似资料:
  • 我能够从URL发送JSON响应,然后当我在RecyclerView上显示相同的响应时,得到的输出是空白的,但选项卡和导航抽屉仍然存在。运行该应用程序时也没有错误。我也在使用截击库。 问题:我在列出服务的RecylerView上没有得到任何输出。我会在这里贴出与RecyclerView相关的代码。另外,我已经在底部发布了堆栈跟踪。 serviceViewAdapter.java(适配器) fragm

  • 我正在尝试在我的 上实现 ,但我没有得到任何结果。 我遵循了这个教程和这个技巧,但是没有人为我工作。 我已经实现了: 但它不让我编译,因为它们是不同的< code > viewmoder ,因为我创建了两个< code > viewmoder 类,但它们< code >扩展了Recycler。ViewHolder所以我不明白... 我正在尝试这样做,因为我有一个,我希望当列表为空时,它会显示一个,

  • 我在垂直链中有两个视图(视图A、视图B)。viewA的纵横比应始终为1:1,而viewB的高度是动态的(可能为400dp,可能为700dp) 预期结果:当 viewB 的高度太大而无法容纳屏幕中的两个视图时,应减小宽度视图 A(保持纵横比)。 实际结果:视图A的宽度总是与父级匹配,如果视图B的高度太大,视图会离开屏幕边界。 注意:最好使用ConstantsLayout,并且不要有嵌套的视图组。

  • 我试图为我的应用程序实现一个搜索过滤器,但我不知道如何去做。我在这里看到一个问题,但这只会让我更加困惑。这是我目前所做的:我在我的主活动中这样调用片段类 主类活动 RecycleView位于JobsFragment: 完整的StackTrace

  • 问题内容: 这是代码: 如何在保持同一行的同时使输入元素扩展为填充所有剩余空间?如果我100%投入,它会走自己的线… 问题答案: 可以在IE7 +和所有现代浏览器中使用。 在首先必须走在HTML。有点令人反感,但值得一看。 关键步骤是使用:为何需要这样做的解释如下: 多余的跨度是必需的,因为它对以下内容没有影响:[CSS/DOM中的什么阻止了带有display:块的输入框扩展到其容器的大小

  • 在3行布局中: 顶部行的大小应根据其内容确定 底部行应具有固定的高度(以像素为单位) 中间行应展开以填充容器 问题是,随着主要内容的扩展,它压扁了页眉和页脚行: HTML: CSS: 小提琴: http://jsfidle.net/7ylfl/1/(工作,内容小) http://jsfidle.net/7ylfl/(已断开,内容较大) 我很幸运,我可以使用CSS中最新的和最好的浏览器,而不是传统的