Цвет фона тоста изменился после изменения цвета фона приложения из стилей
Я изменил цвет фона моего приложения, добавив "#FFFFFF" в мой файл styles.xml. Проблема в том, что цвет фона тостов в моем приложении также изменился.
Есть ли способ вернуть его назад или предотвратить изменение цвета фона тоста?
Ура!
styles.xml:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:background">#FFFFFF</item>
<!-- Customize your theme here. -->
</style>
</resources>
1 ответ
Атрибутом стиля для тоста является toastFrameBackground, но вы не можете использовать его, потому что он не был экспортирован, что означает, что он не является частью public.xml, что означает, что этот атрибут недоступен для неплатформенных / сторонних приложений. Звучит сложно изменить фоновый цвет тоста приложения диким.
Однако вы можете установить желаемый фон:
Toast toast = Toast.makeText(context, stringResId, Toast.LENGTH_LONG);
View view = toast.getView();
view.setBackgroundResource(R.drawable.my_background);
Или вы можете сделать свой собственный тост
Toast toast = new Toast(context);
toast.setDuration(Toast.LENGTH_SHORT);
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.my_toast_layout, null);
toast.setView(view);
Надеюсь, поможет!