我正在尝试让用户更改我的应用的布局。
这是我的XML:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menuTheme"
android:orderInCategory="1"
android:showAsAction="never"
android:title="Theme">
<menu>
<item
android:id="@+id/themeBlack"
android:title="Black" />
<item
android:id="@+id/themeWhite"
android:title="White" />
</menu>
</item>
<item
android:id="@+id/menuAbout"
android:orderInCategory="1"
android:showAsAction="never"
android:title="About" />
以下是我的模拟器的屏幕截图: 这是我的菜单。
单击菜单下的项目主题后,将显示此子菜单。
假设我想添加一个白色布局,我应该在哪里以及如何添加代码?我在res / layout文件夹中有一个名为themewhite.XML的XML文件。我试图在项目主题中添加一个开关,但它似乎不正确。
这是我的代码:
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch(item.getItemId())
{
case R.id.menuTheme:
{
switch(item.getItemId())
{
case R.id.themeWhite;
{
setContentView(R.layout.themewhite);
}
}
break;
}
case R.id.menuAbout:
{
break;
}
}
return super.onOptionsItemSelected(item);
}
答案 0 :(得分:1)
我想你不想设置新的布局,你想要改变现有的可视化。
如果是这样,您应该使用您的活动主题进行操作。首先,您需要使用样式中的值创建主题(白色等)和十进制视图属性。然后在点击其中一个项目后在您的听众中,您应该通过调用
来更改您的主题
getContext().setTheme(resid)
这是一篇关于主题http://www.androidengineer.com/2010/06/using-themes-in-android-applications.html
的好文章