将 ImageButton 的默认背景设置为透明(使用 AndroidX)

Chr*_*ian 4 android android-styles android-imagebutton androidx

我正在使用 AndroidX 支持库。在我的清单中,我声明:

<application
        ...            

        android:theme="@style/AppTheme">
Run Code Online (Sandbox Code Playgroud)

values.styles.xml我声明:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    ...

    <item name="android:imageButtonStyle">@style/MyImageButton</item>
</style>

<style name="MyImageButton" parent="Widget.AppCompat.ImageButton">
    <item name="android:background">@android:color/transparent</item>
</style>
Run Code Online (Sandbox Code Playgroud)

然后我通过以下方式使用 ImageButton:

<ImageButton
    android:id="@+id/image"
    android:layout_width="40dp"
    android:layout_height="40dp" />
Run Code Online (Sandbox Code Playgroud)

不幸的是,我ImageButton显示的是灰色背景而不是透明背景。我该怎么做才能修复它?

Sun*_*nny 5

你需要更换这一行

<item name="android:imageButtonStyle">@style/MyImageButton</item>
Run Code Online (Sandbox Code Playgroud)

<item name="imageButtonStyle">@style/MyImageButton</item>
Run Code Online (Sandbox Code Playgroud)

而这也是@给出另一种方式的王子