我有一个recyclerview,它的卡片数量不固定。每张卡代表一顿饭,并有一张桌子,上面放着各种食物。我正在尝试使表格滚动,但是我没有运气。
我尝试删除除滚动视图之外的所有内容,为滚动视图赋予不同的权重,无论是否将LinearLayout作为TableLayout的父级。什么都没用。
这是我当前的布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:tag="cards main container">
<android.support.v7.widget.CardView
android:id="@+id/card_view"
android:layout_width="match_parent"
android:layout_height="200dp"
card_view:cardBackgroundColor="@color/color_white"
card_view:cardCornerRadius="10dp"
card_view:cardElevation="5dp"
card_view:cardUseCompatPadding="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:baselineAligned="false">
<LinearLayout
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_weight="2"
android:orientation="vertical">
<android.support.design.widget.FloatingActionButton
android:id="@+id/fabAddFood"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:clickable="true"
android:focusable="true"
card_view:srcCompat="@android:drawable/ic_input_add" />
<TextView
android:id="@+id/textViewName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:isScrollContainer="true"
android:layout_weight="2">
<TableLayout
android:id="@+id/foodTable"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="0dp">
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#0079D6">
<TextView
android:id="@+id/tvFood"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingLeft="@dimen/dp8"
android:text="@string/food"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/tvQty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="@dimen/dp16"
android:text="@string/hashtag"
android:textColor="#FFFFFF" />
</TableRow>
</TableLayout>
</ScrollView>
</LinearLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
在卡中滚动是否有问题?
谢谢您的帮助。
答案 0 :(得分:0)
您正在使用layout_weight
。根据父视图的方向使子视图的高度/宽度0dp
达到目的。如果您的父视图有两个权重相同的子视图,请注意。将layout_weight
设置为更大的数字没有任何区别。它计算权重之间的差。
layout_width="0dp"
垂直-> layout_height="0dp"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:baselineAligned="false">
<LinearLayout
android:layout_width="match_parent"
android:layout_weight="2"
android:layout_height="0dp" // make it 0 dp
android:orientation="vertical"/>
<ScrollView
android:layout_width="0dp" //it should be 0dp
android:layout_height="match_parent"
android:isScrollContainer="true"
android:layout_weight="2"/>
答案 1 :(得分:0)
尝试将根线形布局设置为match_parent。启用wrap_content后,它很可能会扩展到屏幕之外,从而消除了recyclerview中的滚动条。