CardView内部的CardView没有阴影

时间:2016-01-08 07:53:12

标签: android android-cardview

我有一个 String minText; String maxText; if (getSelectedMinValue() instanceof Long && getSelectedMaxValue() instanceof Long) { minText = String.valueOf(convertSecondsToHMmSs((Long)getSelectedMinValue())); maxText = String.valueOf(convertSecondsToHMmSs((Long)getSelectedMaxValue())); } else { minText = String.valueOf(getSelectedMinValue()); maxText = String.valueOf(getSelectedMaxValue()); } 另一个 Long currentMin = 1000L, currentMax = 2000L; ...... RangeSeekBar rangeSeekBar = (RangeSeekBar)findViewById(R.id.myRangeSeekBar); rangeSeekBar.setRangeValues(currentMin, currentMax); rangeSeekBar.setOnRangeSeekBarChangeListener(new RangeSeekBar.OnRangeSeekBarChangeListener() { @Override public void onRangeSeekBarValuesChanged(RangeSeekBar bar, Object minValue, Object maxValue) { if (!currentMin.equals(minValue)) { Toast.makeText(MainActivity.this, "Min border changed", Toast.LENGTH_SHORT).show(); } if (!currentMax.equals(maxValue)) { Toast.makeText(MainActivity.this, "Max border changed", Toast.LENGTH_SHORT).show(); } currentMin = (Long)minValue; currentMax = (Long)maxValue; } }); ,但孩子 CardView周围没有阴影。知道为什么吗?

CardView

2 个答案:

答案 0 :(得分:4)

暂时使用此代码..

<android.support.v7.widget.CardView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                card_view:cardBackgroundColor="@color/WHITE_COLOR"
                card_view:cardCornerRadius="20dp"
                card_view:cardElevation="3dp"
                card_view:cardPreventCornerOverlap="false"
                card_view:contentPadding="0dp">

                <android.support.v7.widget.CardView
                    android:layout_width="200dp"
                    android:layout_height="200dp"
                    android:layout_centerInParent="true"
                    card_view:cardBackgroundColor="@color/RED_COLOR"
                    card_view:cardCornerRadius="20dp"
                    card_view:cardElevation="6dp"
                    card_view:cardPreventCornerOverlap="false"
                    card_view:contentPadding="0dp">


                </android.support.v7.widget.CardView>
                 <View
                android:layout_width="match_parent"
                android:layout_height="4dp"
                android:background="@drawable/shadow" />

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

将此xml代码包含在名为shadow.xml的drawable文件夹中

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient
        android:startColor="@android:color/transparent"
        android:endColor="#40000000"
        android:angle="90" />
</shape

答案 1 :(得分:0)

您可以在具有属性 layout_marginTop 的CardView下添加 View 。我的问题是这样做可以解决,希望您也可以。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:orientation="vertical"

    <androidx.cardview.widget.CardView
        android:id="@+id/cvLogin"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:layout_marginTop="10dp"
        app:cardBackgroundColor="@android:color/white"
        app:cardCornerRadius="20dp"
        app:cardElevation="2dp"
        app:cardPreventCornerOverlap="false"
        app:cardUseCompatPadding="false">

        <androidx.cardview.widget.CardView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:layout_margin="1dp"
            app:cardBackgroundColor="@color/colorPrimary"
            app:cardCornerRadius="20dp"
            app:cardElevation="0dp">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:text="Log In"
                    android:textAllCaps="true"
                    android:textColor="@android:color/white"
                    android:textSize="13sp" />

        </androidx.cardview.widget.CardView>

    </androidx.cardview.widget.CardView>

    <View
        android:layout_width="10dp"
        android:layout_height="10dp"
        android:layout_marginTop="5dp" />
</LinearLayout>