我们要求用户必须从5个主题中选择一个主题,我们需要为我们的应用程序的所有活动设置所选主题。对此有任何想法。
感谢你的时间。
由于
答案 0 :(得分:0)
创建一个类说主题管理器为每个返回int的compont声明静态函数
说
public static int getTop()
{
return R.Drawable.top1;
}
关于活动,请致电
top.setBackGroundResource(thememanager.getTop());
答案 1 :(得分:0)
我接近这个的方式如下:
第1步:
创建一个公共虚拟变量(用于所有活动),以及一个像你这样的主题的数组;
public Integer background;
private Integer[] mImageIds = {
R.drawable.theme1,
R.drawable.theme2,
R.drawable.theme3,
R.drawable.theme4,
R.drawable.theme5,
};
第2步:
选择背景的方法(列表,按钮等)选择数组的元素(0-4)并将其分配给背景变量;
position = 1; % ranging from 0-4
background = mImageIds[position];
第3步:
加载每项活动时,请将背景设置为背景变量。 (我即将展示如何做到这一点的方式是作弊,它将它应用为跨越屏幕的图像视图的内容。)
ImageView iv = new ImageView(R.id.background-box);
iv.setImageResource(background);
希望这有帮助!
修改强>
您可以实现最后一步的另一种方法是将空文本视图的背景设置为您的图像;
TextView tv = new TextView(R.id.background-textbox);
tv.setBackgroundResource(background);