gpt4 book ai didi

android - 以编程方式设置主题导致黑色背景

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:41:15 24 4
gpt4 key购买 nike

当我运行我的 android 应用程序时,我正在调用一个方法来检查该应用程序是否正在平板电脑上运行,使用:

public boolean isTablet(Context context){
boolean xlarge = ((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == 4);
boolean large = ((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK)== Configuration.SCREENLAYOUT_SIZE_MASK);
return(xlarge || large);
}

如果方法返回真(即设备满足这些条件之一)

我通过以下方式将我的主题设置为对话框主题:

setTheme(R.style.MyTheme);

其中 MyTheme 是从父级 Theme.Holo.Light.Dialog 继承的主题

这个逻辑工作正常,但它在后台给我带来了奇怪的效果。调用 Intent 完全变黑,而如果我只是在 list 中设置主题,背景只会稍微变灰。

更新 - 添加代码

 private Context mClassContext = this;
@Override
public void onCreate(Bundle savedInstanceState){
if(isTablet(mClassContext)){
setTheme(R.style.MyTheme);
}
super.onCreate(savedInstanceState);
setContentView(R.layout.myLayout);
}

我如何复制它?

最佳答案

我似乎找到了我自己问题的答案。

为了避免黑色背景:

在 android list 中,将所有可能是对话框的 Activity (如果是平板电脑)设置为对话框主题:

然后在 onCreate 中添加这个 else case 以针对非平板设备(即手机)更改它

if(isTablet(mContext)){
setTheme(R.style.myDialogTheme);}
else{
setTheme(R.style.MyTheme);
}

关于android - 以编程方式设置主题导致黑色背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13258449/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com