从样式更改应用程序背景颜色后更改了Toast背景颜色

时间:2015-02-20 20:31:46

标签: java android themes android-toast

我通过添加"#FFFFFF"更改了应用的背景颜色。到我的styles.xml文件。问题是,我的应用程序中Toasts的背景颜色也发生了变化。

有没有办法改回来或防止覆盖Toast的背景颜色?

干杯!

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 个答案:

答案 0 :(得分:0)

用于toast的样式属性是toastFrameBackground但是你不能使用它,因为它还没有被导出,这意味着它不是public.xml的一部分,这意味着这个属性不适用于非平台/第三方应用。改变背景吐司颜色app野蛮听起来很复杂。

但是,您可以设置所需的背景:

Toast toast = Toast.makeText(context, stringResId, Toast.LENGTH_LONG);
View view = toast.getView();
view.setBackgroundResource(R.drawable.my_background);

或者你可以制作自己的Toast

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);

希望它有所帮助!