Android 如何删除对话框上按钮的阴影?为什么会出现阴影?

Android 如何删除对话框上按钮的阴影?为什么会出现阴影?,android,android-layout,android-button,Android,Android Layout,Android Button,我创建了一个对话框,其中有一个按钮 我想要不同款式的纽扣。因此,我创建了这个文件并应用于按钮的背景属性 如何消除此影响?尝试将高程设置为0 dp,或者您可以使用文本视图或布局而不是按钮 <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:l

我创建了一个对话框,其中有一个按钮

我想要不同款式的纽扣。因此,我创建了这个文件并应用于按钮的背景属性


如何消除此影响?

尝试将高程设置为0 dp,或者您可以使用文本视图或布局而不是按钮

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:gravity="center_horizontal"
    android:orientation="vertical">

    <TextView
        android:id="@+id/btn_close"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="15dp"
        android:clickable="true"
        android:background="@drawable/btn_ripple"
        android:text="Close"
        android:textAllCaps="false"
        android:textColor="@color/my_text_color"
        android:textSize="17sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/btn_close2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/btn_ripple"
        android:clickable="true"
        android:text="Don't show this in 24hours"
        android:textAllCaps="false"
        android:textColor="@color/my_text_color"
        android:textSize="14sp"
        android:textStyle="bold" />
</LinearLayout>

这也可以通过在Resources\values\styles.xml中全局设置android:stateListAnimator=“@null”来解决:

<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <style name="AppTheme" parent="AppTheme.Base">
    </style>
    <style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:buttonStyle">@style/NoShadowButton</item>
    </style>
    <style name="NoShadowButton" parent="android:style/Widget.Button">
        <item name="android:stateListAnimator">@null</item>
    </style>
</resources>

@样式/无阴影按钮
@空的
按钮中使用
style=“?android:attr/borderlessButtonStyle”
参考:
或者,如果不特别需要
按钮
,请使用
文本视图

将按钮上的stateListAnimator设置为xml中的=“@null”。它将删除按钮上的阴影。

尝试将标高设置为0dp:
android:elevation=“0dp”
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="@color/my_yellow" />
    <stroke
        android:width="1dp"
        android:color="@color/my_pink" />
</shape>
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:gravity="center_horizontal"
    android:orientation="vertical">

    <TextView
        android:id="@+id/btn_close"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="15dp"
        android:clickable="true"
        android:background="@drawable/btn_ripple"
        android:text="Close"
        android:textAllCaps="false"
        android:textColor="@color/my_text_color"
        android:textSize="17sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/btn_close2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/btn_ripple"
        android:clickable="true"
        android:text="Don't show this in 24hours"
        android:textAllCaps="false"
        android:textColor="@color/my_text_color"
        android:textSize="14sp"
        android:textStyle="bold" />
</LinearLayout>
<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <style name="AppTheme" parent="AppTheme.Base">
    </style>
    <style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:buttonStyle">@style/NoShadowButton</item>
    </style>
    <style name="NoShadowButton" parent="android:style/Widget.Button">
        <item name="android:stateListAnimator">@null</item>
    </style>
</resources>