试图为Cardview获取透明bg

时间:2015-06-17 08:57:18

标签: android

我已将CardView的背景和FrameLayout设置为透明但结果仍为白色bg。

这是一些默认行为吗?我应该如何更改我的xml布局文件以获得透明的bg?

布局文件:

<android.support.v7.widget.CardView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    card_view:cardBackgroundColor="@android:color/transparent"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp">


    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:background="@android:color/transparent"
        android:layout_width="match_parent"
        android:layout_height="140dp"
        tools:layout_gravity="center">

        <TextView
            android:id="@+id/dayID"
            android:textColor="@color/link_text_material_light"
            android:textSize="26dp"
            android:layout_marginLeft="20dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <TextView
            android:id="@+id/monthID"
            android:textColor="@color/link_text_material_light"
            android:layout_marginLeft="60dp"
            android:textSize="26dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />


        <TextView
            android:id="@+id/splashID"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/link_text_material_light"
            android:textSize="26dp"
            android:layout_gravity="center"
            android:gravity="center"
            android:padding="20dp"
            tools:text="Hero text" />

        <TextView
            android:id="@+id/sunbathMinsID"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/link_text_material_light"
            android:textSize="26dp"
            android:layout_gravity="bottom"
            android:gravity="center"
            android:padding="20dp"
            tools:text="Hero text" />
    </FrameLayout>


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

1 个答案:

答案 0 :(得分:0)

可以为XML中的任意数量的视图获得透明的背景。 这是对imageview的恰当解释。 Set transparent background of an imageview on Android

Cardviews大致相同,但属性略有不同,并且使用“ app:cardBackgroundColor =” @android:color / transparent“进行了很好的解释 有关该类型的属性,请参见这篇文章。 Transparent background on CardView - Android

将cardView和后续的FrameLayout都设置为透明肯定可以完成工作并使两个视图都透明。但是,活动始终具有扎实的背景。仅当您将资源设置为背景时,活动才没有固定的背景,并且如上链接所示,如果活动中的视图设置为透明,则放置在该活动中的视图将显示当前背景。

因此,即使将“视图”设置为透明,“活动”将始终需要使用颜色或图像来在背景中显示。就是说,是的,除非更改颜色,否则cardView后面仍将有白色背景。