簡體   English   中英

CardView無法正常工作

[英]CardView doesn't work properly

我有一個使用RecyclerView的工作,我也使用了CardView。我已經制作了所有這些標准程序(創建了ViewHolder,實現了必要的方法),但問題是CardView的角落沒有圓角。我只得到矩形角CardView。

這是Adapter的“主要布局”的XML代碼:

<?xml version="1.0" encoding="utf-8"?>

<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:layout_width="match_parent"
    android:layout_height="250dp"
    android:layout_margin="15dp"
    card_view:cardElevation="10dp"
    card_view:cardCornerRadius="30dp">

    <RelativeLayout
        android:layout_margin="20dp"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:id="@+id/adapterText"
            android:text="@string/textCaption"
            android:layout_alignParentStart="true"
            android:layout_alignParentLeft="true"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <TextView
            android:id="@+id/adapterDate"
            android:text="@string/date"
            android:layout_marginTop="10dp"
            android:layout_alignParentStart="true"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/adapterText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

    </RelativeLayout>

</android.support.v7.widget.CardView>

使用RecyclerView的另一個布局:

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_margin="10dp"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/contactList"
        android:scrollbars="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </android.support.v7.widget.RecyclerView>

</RelativeLayout>

並初始化RecyclerView:

@Override
public void onViewCreated(View root, Bundle savedInstanceState) {
    if (root != null) {
        RecyclerView mRecyclerContactList=(RecyclerView)(root.findViewById(R.id.contactList));
        mContactAdapter=new ContactAdapter(getContext(),mContextualMultiMode,mContactList);
        mRecyclerContactList.setAdapter(mContactAdapter);
        RecyclerView.ItemAnimator animator=new DefaultItemAnimator();
        mRecycle

rContactList.setItemAnimator(animator);
            RecyclerView.ItemDecoration mVerticalDecoration=new DividerItemDecoration
                    (getContext(), LinearLayoutManager.VERTICAL);
            mRecyclerContactList.addItemDecoration(mVerticalDecoration);
            mRecyclerContactList.setLayoutManager(new LinearLayoutManager(getContext()));

        }

    }

有誰知道如何解決這個問題?

Cardview作為root會給我帶來奇怪的問題。 嘗試以root身份使用Relativelayout。

嗨嘗試使用此代碼

<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:cardview="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="250dp"
    android:baselineAligned="false"
    android:elevation="6dp"
    cardview:cardCornerRadius="6dp"
    cardview:cardElevation="6dp"
    cardview:cardPreventCornerOverlap="false"
    cardview:cardUseCompatPadding="true"
    cardview:contentPadding="0dp">
</android.support.v7.widget.CardView>

使用cardview時使用此代碼

<android.support.v7.widget.CardView
            android:id="@+id/cardview"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:elevation="100dp"
            card_view:cardBackgroundColor="@color/cardview_initial_background"
            card_view:cardCornerRadius="8dp"
            android:layout_marginLeft="@dimen/margin_large"
            android:layout_marginRight="@dimen/margin_large"
            >

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM