У меня есть 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)
Для тех, кто заинтересован: Вид находится прямо под этим текстом. Это смесь белого и прозрачного, поэтому, если у вас нет темного фона, вы должны перетащить его, чтобы увидеть.