通过单击子菜单项更改布局颜色
Change layout color by clicking a submenu item
我是 Java 和 Android 的新手,目前我正在开发一个简单的应用程序,它有一个菜单按钮和几个子菜单项。基本上,我通过创建这个应用程序来学习东西。
我想做什么?我想通过单击这些子菜单项来更改主布局颜色。
无论如何:
这是我打开子菜单的菜单图标:
<item
android:id="@+id/action_pozadine"
android:orderInCategory="100"
android:icon="@drawable/ic_action_picture"
app:showAsAction="always"
android:title="pozadine"/>
子菜单设置在单独的菜单中XML:
<item
android:title="Pozadina1"
android:id="@+id/poz_1"
/>
<item
android:title="Pozadina2"
android:id="@+id/poz_2"
/>
单击 "action_pozadine" 时,子菜单项会在弹出窗口 window 中膨胀:
case R.id.action_pozadine:
View menuItemView = findViewById(R.id.action_pozadine);
PopupMenu popupMenu = new PopupMenu(this, menuItemView);
popupMenu.inflate(R.menu.submenu);
popupMenu.show();
return true;
如何通过单击其中一个子菜单项来更改主布局的颜色?有可能吗?
我搜索了很多教程,但所有教程都带有 Button onclick 侦听器,您不能将 Button 放在菜单或子菜单中。
非常感谢任何帮助。
所以我设法让它工作了。这是 onMenuItemClick 代码现在的样子:
@Override
public boolean onMenuItemClick(MenuItem submenu) {
switch (submenu.getItemId()) {
case R.id.poz_1:
Toast.makeText(getApplicationContext(), "Pozadina 1", Toast.LENGTH_SHORT).show();
return true;
case R.id.poz_2:
Toast.makeText(getBaseContext(), "Pozadina 2", Toast.LENGTH_SHORT).show();
return true;
}
有人知道如何更改布局背景颜色,或通过单击那些子菜单按钮调用布局背景的可绘制对象吗?
谢谢。
获取布局:
LinearLayout layout = new LinearLayout(this);
或者你可以使用 id:
LinearLayout layout = (LinearLayout)findViewById(R.id.yourLayoutId);
然后简单地:
layout.setBackgroundColor(Color.RED);
我是 Java 和 Android 的新手,目前我正在开发一个简单的应用程序,它有一个菜单按钮和几个子菜单项。基本上,我通过创建这个应用程序来学习东西。
我想做什么?我想通过单击这些子菜单项来更改主布局颜色。
无论如何:
这是我打开子菜单的菜单图标:
<item
android:id="@+id/action_pozadine"
android:orderInCategory="100"
android:icon="@drawable/ic_action_picture"
app:showAsAction="always"
android:title="pozadine"/>
子菜单设置在单独的菜单中XML:
<item
android:title="Pozadina1"
android:id="@+id/poz_1"
/>
<item
android:title="Pozadina2"
android:id="@+id/poz_2"
/>
单击 "action_pozadine" 时,子菜单项会在弹出窗口 window 中膨胀:
case R.id.action_pozadine:
View menuItemView = findViewById(R.id.action_pozadine);
PopupMenu popupMenu = new PopupMenu(this, menuItemView);
popupMenu.inflate(R.menu.submenu);
popupMenu.show();
return true;
如何通过单击其中一个子菜单项来更改主布局的颜色?有可能吗?
我搜索了很多教程,但所有教程都带有 Button onclick 侦听器,您不能将 Button 放在菜单或子菜单中。
非常感谢任何帮助。
所以我设法让它工作了。这是 onMenuItemClick 代码现在的样子:
@Override
public boolean onMenuItemClick(MenuItem submenu) {
switch (submenu.getItemId()) {
case R.id.poz_1:
Toast.makeText(getApplicationContext(), "Pozadina 1", Toast.LENGTH_SHORT).show();
return true;
case R.id.poz_2:
Toast.makeText(getBaseContext(), "Pozadina 2", Toast.LENGTH_SHORT).show();
return true;
}
有人知道如何更改布局背景颜色,或通过单击那些子菜单按钮调用布局背景的可绘制对象吗?
谢谢。
获取布局:
LinearLayout layout = new LinearLayout(this);
或者你可以使用 id:
LinearLayout layout = (LinearLayout)findViewById(R.id.yourLayoutId);
然后简单地:
layout.setBackgroundColor(Color.RED);