Прозрачный фон ImageView становится черным после перехода к фрагменту настроек - PullRequest
0 голосов
/ 13 мая 2019

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

Вид включен в мои макеты, как это:

    <ImageView
        android:layout_width="60dp"
        android:layout_height="60dp" app:srcCompat="@drawable/soul"
        android:id="@+id/soul" tools:ignore="ContentDescription"
        android:layout_marginEnd="8dp" android:translationZ="7dp"
        app:layout_constraintStart_toStartOf="parent" android:layout_marginStart="8dp"
        android:layout_marginBottom="8dp"
        android:layout_marginTop="8dp" app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintVertical_bias="0.45"/>

Фрагмент настроек выглядит так:

class SettingsFragment : PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
    setPreferencesFromResource(R.xml.settings, rootKey)
}
}

settings.xml просто имеет несколько ListPreferences, как это:

<androidx.preference.PreferenceScreen
    xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android"
    app:key="rootkey">
    <ListPreference
        app:key="levellength"
        app:title="@string/setlevellength"
        app:summary="@string/setlevellengthdescription"
        app:defaultValue="42"
        app:entries="@array/levellengthkey"
        app:entryValues="@array/levellength"/>
</androidx.preference.PreferenceScreen>

У меня есть только одна активность. Настройки включены в Resume следующим образом: val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this)

Для тех, кто заинтересован: Вид находится прямо под этим текстом. Это смесь белого и прозрачного, поэтому, если у вас нет темного фона, вы должны перетащить его, чтобы увидеть. The View. Drag it.

1 Ответ

0 голосов
/ 14 мая 2019

Я нашел ответ сам, просто установив фон для изображения в xml, а не просто взяв его из png.

<ImageView
    android:layout_width="60dp" android:background="@drawable/soul"
    android:layout_height="60dp" app:srcCompat="@drawable/soul"
    android:id="@+id/soul" tools:ignore="ContentDescription"
    android:layout_marginEnd="8dp" android:translationZ="7dp"
    app:layout_constraintStart_toStartOf="parent" android:layout_marginStart="8dp"
    android:layout_marginBottom="8dp"
    android:layout_marginTop="8dp" app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintVertical_bias="0.45"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...