【发布时间】:2015-05-20 09:26:45
【问题描述】:
我在水平滚动的RecycleView 中设置CardView 的正确宽度尺寸时遇到问题。
这是卡片 xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp">
<!-- A CardView that contains a TextView -->
<android.support.v7.widget.CardView
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="150dp"
card_view:cardCornerRadius="4dp">
<TextView
android:id="@+id/info_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</android.support.v7.widget.CardView>
这是RecycleView:
<android.support.v7.widget.RecyclerView
android:id="@+id/mrecycleview"
android:scrollbars="horizontal"
android:layout_width="match_parent"
android:layout_height="150dp" />
我的 Activity 中的 LinearLayoutManager:
mLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
recycleView.setLayoutManager(mLayoutManager);
最后,这是我的适配器:
...
public static class ViewHolder extends RecyclerView.ViewHolder {
CardView cv;
TextView nameTV;
ViewHolder(View itemView) {
super(itemView);
cv = (CardView)itemView.findViewById(R.id.card_view);
nameTV = (TextView)itemView.findViewById(R.id.info_text);
}
}
public MyCardAdapter(List<Dog> myDataset) {
mDataset = myDataset;
}
@Override
public MyCardAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.my_card, parent, false);
ViewHolder vh = new ViewHolder(v);
return vh;
}
结果如下:
但我希望回收视图占据所有水平空间;像这样:
【问题讨论】:
标签: android horizontal-scrolling