具有透明背景的ImageButton的阴影

时间:2019-05-17 16:24:47

标签: android xml android-layout

我有一个ImageButton。当我添加透明背景时,阴影消失了。没有第三方库该如何解决?

                <ImageButton
                android:id="@+id/player_activity_previous_button"
                android:background="@android:color/transparent"
                android:tint="@color/color_for_buttons"
                android:src="@drawable/ic_skip_previous_48"
                android:layout_width="64dp"
                android:layout_height="64dp"
                android:layout_toLeftOf="@id/player_activity_play_pause_button"
                android:layout_centerVertical="true"
                android:stateListAnimator="@null"
                android:elevation="4dp"
                android:translationZ="4dp"/>

3 个答案:

答案 0 :(得分:0)

这很正常,因为透明物体不会产生阴影;)

但是,更改 open https://stackoverflow.com/search?q="$@" 的背景也会更改背景行为。

如果您只想更改颜色,请使用此

ImageButton

答案 1 :(得分:0)

您可以结合使用cardView和imageView来代替具有透明背景的imageButton,但首先要在gradle文件中添加依赖项。

dependencies {
compile 'com.android.support:cardview-v7:23.0.1'
-------

}

<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardElevation="8dp"
card_view:cardBackgroundColor="@android:color/white">

<ImageView
    android:id="@+id/dish_image"
    android:layout_width="match_parent"
    android:layout_height="120dp"
    android:adjustViewBounds="true" />

增加阴影效果只是增加卡的高度

答案 2 :(得分:0)

您可以使用9色块图像作为阴影的背景。