作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 GridLayoutManager 在 RecyclerView 中使用 CardViews。我面临的问题是,我在 xml 或 java 中为卡片 View 指定的高度,它不会被 CardView 强制执行。看起来 CardView 的 subview 的累积高度变成了 CardView 的高度。这种行为考虑到它是在其 subview 上强制执行的父级布局参数。
我错过了什么?我做错了什么吗?
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/cardView"
android:layout_width="@dimen/card_view_width"
android:layout_height="0dp"
android:layout_marginBottom="6dp"
android:elevation="10dp"
android:orientation="horizontal"
card_view:cardCornerRadius="2dp"
>
<ImageView
android:layout_width="@dimen/card_view_width"
android:layout_height="10dp"
></ImageView>
</android.support.v7.widget.CardView>
在这种情况下,卡片 View 的高度为 0dp,但布局设计器预览仍然存在,当应用程序在设备上运行时,卡片的大小为 10dp。
最好的问候
最佳答案
您希望根据您告诉程序的内容发生什么?
你告诉 CardVeiw
有一个 0dp
的高度: android:layout_height="0dp"
然后在里面放置一个 ImageView
,并告诉它的高度为 10dp
。
当然,CardView
会让自己变高,让 ImageView
适合。
如果您希望内部元素与 CardView
的高度匹配,请将 CardView
的 layout_height
设置为您想要的任何值,例如20dp
:
android:layout_height="20dp"
然后有内部元素match_parent
:
android:layout_height="match_parent"
关于android:layout_height 不适用于 CardView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27758479/
我是一名优秀的程序员,十分优秀!