如何为自定义吐司布局设置主题?

时间:2018-10-03 15:39:26

标签: android android-layout android-theme android-toast

我需要为自定义吐司布局设置透明主题。但是下面的代码不会发生。也许我是在错误的环境下完成的?!

   LayoutInflater inflater = getLayoutInflater();
    LinearLayout linearLayout =  findViewById(R.id.toast_layout);

   Context context = getApplicationContext();
    context.setTheme(R.style.AppTheme_Transparent);
    View layout = inflater.cloneInContext(context).inflate(R.layout.info_layout,
            linearLayout);

    Toast toast = new Toast(context);
    toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
    toast.setDuration(Toast.LENGTH_SHORT);
    toast.setView(layout);
    toast.show();

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

为什么要使用cloneInContext?您可以简单地执行以下操作。它可以在我的代码中工作

Toast toast = new Toast(context);
toast.setDuration(Toast.LENGTH_LONG);
LayoutInflater inflater = (LayoutInflater) 
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
View view = inflater.inflate(R.layout.custom_layout, null);
toast.setView(view);
toast.show();

您可以创建自定义布局,并将其中的主题设置为AppTheme_Transparent。