gpt4 book ai didi

android - 删除回收器 View 行之间的空间间隙

转载 作者:行者123 更新时间:2023-11-29 02:36:05 25 4
gpt4 key购买 nike

好吧,我环顾四周,没有发现任何关于这个特殊案例的信息。

我有一个垂直的recyclerView,线性布局(所以android:height设置为0dp,为了支持权重功能)。这个 recyclerView 包含几乎无限的天数列表。当用户滚动时,当前日期(或行,如果需要)将其背景更改为透明,以表明它是当前日期。我后来才注意到项目行不适合 recyclerView 给该行的所有空间。如果你看到图像,一切都会更清楚:我突出显示一小排,颜色不同(不是白色)。这是recyclerView背景!所以,我的问题是,为什么项目布局不适合所有行空间?

enter image description here

此外:这是 recyclerView xml:

   <android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="6.0"
android:elevation="5dp"
android:background="@drawable/background_recycler_view_main"/>

这是一行:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/row_day"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="180dp"
android:background="@color/white">

<View
android:id="@+id/vertical_row"
android:layout_width="3dp"
android:layout_height="match_parent"
android:background="@color/budget_remains"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="40dp"
android:layout_marginLeft="40dp"/>

<TextView
android:id="@+id/day_number0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/vertical_row"
android:layout_toEndOf="@id/vertical_row"
android:layout_marginLeft="10dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:gravity="bottom"
android:text="@string/day_number_fake"
android:textColor="@color/day_number_and_name"
android:textSize="@dimen/day_number" />

<TextView
style="@style/DayInfoMain"
android:id="@+id/day_name0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/day_number0"
android:layout_marginBottom="5dp"
android:layout_marginLeft="5dp"
android:layout_marginStart="5dp"
android:layout_toEndOf="@id/day_number0"
android:layout_toRightOf="@id/day_number0"
android:text="@string/day_name_fake" />

<TextView
style="@style/AmountDayAndExpense"
android:id="@+id/day_amount0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/day_name0"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:text="@string/day_amount_fake"
android:textSize="@dimen/day_text" />

并且根据要求,background_recycler_view_main:

<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient android:type="radial"
android:startColor="@color/white"
android:endColor="@color/background_main_component"
android:gradientRadius="200dp"/>
</shape>

最佳答案

它看起来像是不同项目之间的分隔线。在创建 Recyclerview 实例的类中尝试此操作我假设实例是这样的

Recyclerview mRecyclerView = (Recyclerview) findviewbyId(R.id.recycler_view);

然后在下面添加这一行,使分隔符为空

mRecyclerView.addItemDecoration(new DividerItemDecoration(mContext, LinearLayoutManager.VERTICAL) {
@Override
public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
// Do not draw the divider
}
});

关于android - 删除回收器 View 行之间的空间间隙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47011897/

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