Установка фона по умолчанию для ImageButton прозрачным (с помощью AndroidX) - PullRequest
1 голос
/ 20 июня 2019

Я использую библиотеки поддержки AndroidX. В своем манифесте я заявляю:

<application
        ...            

        android:theme="@style/AppTheme">

В 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>

Затем я использую ImageButton через:

<ImageButton
    android:id="@+id/image"
    android:layout_width="40dp"
    android:layout_height="40dp" />

К сожалению, мой ImageButton показывает серый фон вместо прозрачного. Что мне нужно сделать, чтобы это исправить?

Ответы [ 3 ]

1 голос
/ 20 июня 2019

Добавьте эту строку в своем коде к

style="@style/MyImageButton"

Итак,

<ImageButton
    style="@style/MyImageButton"
    android:id="@+id/image"
    android:layout_width="40dp"
    android:layout_height="40dp" />

или вы не хотите добавлять стиль в тег всех кнопок, вы можете следовать этому ответ , чтобы изменить стиль кнопки по умолчанию.Надеюсь, это поможет вам.Попробуйте и дайте мне знать, работает или нет.

Спасибо.Удачного кодирования:)

1 голос
/ 20 июня 2019

Вам необходимо заменить эту строку

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

с

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

И это также другой способ, данный @ принцем

0 голосов
/ 20 июня 2019

Вы можете просто установить background из ImageButton в null, как показано ниже:

<ImageButton
    android:id="@+id/image"
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:background="@null" />

Это сделает ваш ImageButton прозрачным.

...