【发布时间】:2014-08-21 15:06:24
【问题描述】:
我有一个片段,其中包含一个 RecyclerView,layout_width="match_parent":
<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity$PlaceholderFragment" />
RecyclerView 中的项目也是 CardView,layout_width="match_parent":
<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/card_view"
android:layout_gravity="center"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="20dp"
card_view:cardCornerRadius="4dp">
<TextView
android:layout_gravity="center"
android:id="@+id/info_text"
android:layout_width="match_parent"
android:gravity="center"
android:layout_height="match_parent"
android:textAppearance="?android:textAppearanceLarge"/>
</android.support.v7.widget.CardView>
我将项目视图放大如下:
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
CardView v = (CardView) LayoutInflater.from(parent.getContext())
.inflate(R.layout.card_listitem, null, true);
ViewHolder vh = new ViewHolder(v);
return vh;
}
但是当我运行应用程序时,CardView 呈现为 wrap_content 如下所示:
请注意,这是在模拟器上运行的,而不是真实设备。
是我做错了什么,还是一个错误?
【问题讨论】:
-
膨胀 CardView 时,是否为父视图提供了 true 参数?
-
嗨@NiekHaarman,请查看编辑。我添加了膨胀代码。是的,我已经传递了真正的参数。
标签: android android-layout android-5.0-lollipop android-recyclerview android-cardview