我正在尝试创建一些非常简单的东西:CardView
延伸到屏幕高度并且在其内部有一个TextView
,它应该伸展到卡片宽度。我已使卡片android:height="match_parent"
上的CardView
垂直填满了屏幕。但是,现在,在CardView
上设置TextView
时,android:height="match_parent"
内容(如简单TextView
)不会横向延伸整个卡片。它看起来只是wrap_content
。
请注意,此CardView
位于RecyclerView
内,水平LinearLayoutManager
。
请注意,在使用水平android:layout_width="match_parent"
时,在卡片上设置LinearLayoutManager
实际上并不会将其拉伸到屏幕宽度,如果使用垂直LinearLayoutManager
则相反!我认为这与我的问题有关。
这是CardView xml:
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/card_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="6dp"
card_view:contentPadding="8dp"
card_view:cardElevation="8dp"
card_view:cardCornerRadius="4dp"
card_view:cardUseCompatPadding="true" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/imageView_video_thumbnail"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop" />
<TextView
android:id="@+id/textView_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:padding="2sp"
android:background="#80000000"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="16sp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true">
<Button
android:id="@+id/textView_preview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:background="#80000000"
style="?android:attr/buttonBarButtonStyle"
android:text="Preview"/>
<Button
android:id="@+id/textView_set"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#80000000"
android:gravity="center"
style="?android:attr/buttonBarButtonStyle"
android:text="Set"/>
</LinearLayout>
</RelativeLayout>
这是RecyclerView xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:gravity="center"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/activity_wallpapers" tools:context=".WallpapersActivity">
<android.support.v7.widget.RecyclerView
android:id="@+id/cardList"
android:layout_width="match_parent"
android:layout_height="match_parent" />
答案 0 :(得分:2)
我通过将apiVersion: v1
kind: Service
metadata:
labels:
name: sentinel
role: service
name: redis-sentinel
spec:
type: NodePort
ports:
- port: 26379
targetPort: 26379
nodePort: 30369
selector:
redis-sentinel: "true"
置于CardView
内作为最外层布局来解决此问题:
RelativeLayout
答案 1 :(得分:1)
我猜你的inflater
有问题。
我有类似的问题,并改变了我的inflater:
inflater.inflate(R.layout.services_card_list_item, null);
到此:
inflater.inflate(R.layout.services_card_list_item, parent, false);
答案 2 :(得分:0)
这是有效的代码。请试一试。
public class MyRecyclerAdapter extends RecyclerView.Adapter<FeedListRowHolder> {
private List<FeedItem> feedItemList;
private Context mContext;
public MyRecyclerAdapter(Context context, List<FeedItem> feedItemList) {
this.feedItemList = feedItemList;
this.mContext = context;
}
@Override
public FeedListRowHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.list_row,viewGroup, false);
FeedListRowHolder mh = new FeedListRowHolder(v);
return mh;
}
@Override
public void onBindViewHolder(FeedListRowHolder feedListRowHolder, int i) {
// feedListRowHolder.title.setText("set data");
}
@Override
public int getItemCount() {
return 10;
}
}
或强> 替换为您的代码。
LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.card_listitem, viewGroup, false);
答案 3 :(得分:0)
这实际上是RecylerView库早期版本中的一个错误。我完全忘记它修复了哪个版本,但我认为它是在某个地方支持:recyclerview-v7:23.1.0它已被修复。