Java 在工具栏中显示图标
我想在工具栏中显示3个图标,当我在菜单中选择一个选项时,只显示图标的空间,但不显示图标,我尝试了xml中的许多移动,但任何操作都不起作用,请提供任何帮助,谢谢您的建议 下面是XMLJava 在工具栏中显示图标,java,android,icons,toolbar,Java,Android,Icons,Toolbar,我想在工具栏中显示3个图标,当我在菜单中选择一个选项时,只显示图标的空间,但不显示图标,我尝试了xml中的许多移动,但任何操作都不起作用,请提供任何帮助,谢谢您的建议 下面是XML <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:yourapp="http://schemas.android.com
<menu
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
<item android:id="@+id/bno_marcadores"
android:visible="false"
yourapp:showAsAction="always"
android:title="@string/disable_draw"
android:showAsAction="always">
</item>
<item android:id="@+id/escribir_negro"
android:visible="false"
yourapp:icon="@drawable/escribirnegro"
yourapp:showAsAction="always"
android:showAsAction="always">
</item>
<item android:id="@+id/escribir_blanco"
android:visible="false"
yourapp:showAsAction="always"
yourapp:icon="@drawable/escribirblanco"
android:showAsAction="always">
</item>
<item android:id="@+id/escribir_azul"
android:visible="false"
yourapp:showAsAction="always"
yourapp:icon="@drawable/escribirazul"
android:showAsAction="always">
</item>
<group android:id="@+id/options_in_book"
android:visible="false">
<item android:id="@+id/inserttext"
android:title="@string/inserttext"
android:titleCondensed = " "
yourapp:icon="@drawable/ic_pluma"
yourapp:showAsAction="collapseActionView">
</item>
<item android:id="@+id/pluma_az"
android:title="@string/pluma_az"
android:titleCondensed = " "
yourapp:icon="@drawable/ic_pluma"
yourapp:showAsAction="collapseActionView">
</item>
<item android:id="@+id/Marcador_ama"
android:title="@string/Marcador_ama"
android:titleCondensed = " "
yourapp:icon="@drawable/ic_plumon_ama"
yourapp:showAsAction="collapseActionView">
</item>
<item android:id="@+id/Marcador_verde"
android:title="@string/Marcador_verde"
android:titleCondensed = " "
yourapp:icon="@drawable/ic_plumon_ver"
yourapp:showAsAction="collapseActionView">
</item>
<item android:id="@+id/borrador"
android:title="@string/borrador"
android:titleCondensed = " "
yourapp:icon="@drawable/ic_borrador"
yourapp:showAsAction="collapseActionView">
</item>
</group>
<item android:id="@+id/reload_menu"
android:visible="false"
android:title="@string/reload_menu"
android:icon="@android:drawable/ic_popup_sync"
yourapp:showAsAction="ifRoom|collapseActionView">
</item>
插入文本是选项,escribir_negro、escribir_azul、escribir_blanco是我要显示的项目
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
if(drawerLayout.isDrawerOpen(GravityCompat.START)){
drawerLayout.closeDrawers();//(myindice);
}else
finish();
break;
case R.id.Marcador_ama:
case R.id.Marcador_verde:
case R.id.pluma_az:
Toastme_please("Navegación deshabilitada");
Integer color = (item.getItemId() == R.id.Marcador_ama ? 2 : (item
.getItemId() == R.id.Marcador_verde ? 1 : 0));
for (Integer i = 0; i < 2; i++) {
mViews[i].color = color;
}
/*dis_en_controls(false);*/
book_menu.findItem(R.id.bno_marcadores).setVisible(true);
dibujar = true;
borrar = false;
escribir =false;
book_menu.findItem(R.id.escribir_negro).setVisible(false);
book_menu.findItem(R.id.escribir_blanco).setVisible(false);
book_menu.findItem(R.id.escribir_azul).setVisible(false);
break;
case R.id.borrador:
Toastme_please("Navegación deshabilitada");
book_menu.findItem(R.id.bno_marcadores).setVisible(true);
dibujar = false;
borrar = true;
escribir =false;
book_menu.findItem(R.id.escribir_negro).setVisible(false);
book_menu.findItem(R.id.escribir_blanco).setVisible(false);
book_menu.findItem(R.id.escribir_azul).setVisible(false);
//dis_en_controls(false);
break;
case R.id.bno_marcadores:
Toastme_please("Navegación habilitada");
dibujar = false;
borrar = false;
escribir = false;
book_menu.findItem(R.id.escribir_negro).setVisible(false);
book_menu.findItem(R.id.escribir_blanco).setVisible(false);
book_menu.findItem(R.id.escribir_azul).setVisible(false);
//dis_en_controls(true);
item.setVisible(false);
break;
case R.id.inserttext:
Toastme_please("Navegación habilitada");
escribir = true;
dibujar = false;
borrar = false;
book_menu.findItem(R.id.bno_marcadores).setVisible(true);
book_menu.findItem(R.id.escribir_negro).setVisible(true);
book_menu.findItem(R.id.escribir_blanco).setVisible(true);
book_menu.findItem(R.id.escribir_azul).setVisible(true);
case R.id.escribir_negro:
for (Integer i = 0; i < 2; i++) {
mViews[i].color = 3;
}
break;
case R.id.escribir_blanco:
for (Integer i = 0; i < 2; i++) {
mViews[i].color = 4;
}
break;
case R.id.escribir_azul:
for (Integer i = 0; i < 2; i++) {
mViews[i].color = 5;
}
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
@覆盖
公共布尔值onOptionsItemSelected(菜单项项){
开关(item.getItemId()){
案例android.R.id.home:
if(抽屉布局isDrawerOpen(重力比较开始)){
抽屉布局。抽屉();
}否则
完成();
打破
案例R.id.Marcador_ama:
案例R.id.Marcador_verde:
案例R.id.pluma_az:
请到演讲会(“Navegación deshabilitada”);
整数颜色=(item.getItemId()==R.id.Marcador\u ama?2:(item
.getItemId()==R.id.Marcador_verde?1:0);
对于(整数i=0;i<2;i++){
mViews[i].color=color;
}
/*dis_en_控制(错误)*/
book_menu.findItem(R.id.bno_marcadores).setVisible(true);
dibujar=true;
borrar=假;
escribir=假;
book_menu.findItem(R.id.escribir_negro).setVisible(false);
book_menu.findItem(R.id.escribir_blanco).setVisible(false);
book_menu.findItem(R.id.escribir_azul).setVisible(false);
打破
案例R.id.borrador:
请到演讲会(“Navegación deshabilitada”);
book_menu.findItem(R.id.bno_marcadores).setVisible(true);
dibujar=假;
borrar=true;
escribir=假;
book_menu.findItem(R.id.escribir_negro).setVisible(false);
book_menu.findItem(R.id.escribir_blanco).setVisible(false);
book_menu.findItem(R.id.escribir_azul).setVisible(false);
//dis_en_控制(错误);
打破
案例R.id.bno_marcadores:
请到演讲会(“Navegación habilitada”);
dibujar=假;
borrar=假;
escribir=假;
book_menu.findItem(R.id.escribir_negro).setVisible(false);
book_menu.findItem(R.id.escribir_blanco).setVisible(false);
book_menu.findItem(R.id.escribir_azul).setVisible(false);
//dis_en_控制(正确);
项。设置可见(假);
打破
案例R.id.inserttext:
请到演讲会(“Navegación habilitada”);
escribir=true;
dibujar=假;
borrar=假;
book_menu.findItem(R.id.bno_marcadores).setVisible(true);
book_menu.findItem(R.id.escribir_negro).setVisible(true);
book_menu.findItem(R.id.escribir_blanco).setVisible(true);
book_menu.findItem(R.id.escribir_azul).setVisible(true);
案例R.id.描述黑人:
对于(整数i=0;i<2;i++){
mViews[i].color=3;
}
打破
案例R.id.escribir_blanco:
对于(整数i=0;i<2;i++){
mViews[i].color=4;
}
打破
案例R.id.escribir_azul:
对于(整数i=0;i<2;i++){
mViews[i].color=5;
}
打破
违约:
打破
}
返回super.onOptionsItemSelected(项目);
}
不要尝试打开ID,找到正确的ID,然后做一些事情,你可以只使用传入的项目
item.setVisible(true);
或者,如果某个组在单击该组时希望子组可见,则可以执行以下操作:
Menu menu = new Menu(); // Can also be inflated menu from XML
public void onGroupItemClick(MenuItem item) {
menu.setGroupVisible(item.getGroupId(), true);
}
我想这会使你的事情简化很多
您需要为android更改应用程序:图标:图标 更改此项:
<item android:id="@+id/escribir_azul"
android:visible="false"
yourapp:showAsAction="always"
yourapp:icon="@drawable/escribirazul"
android:showAsAction="always">
</item>
为此:
<item android:id="@+id/escribir_azul"
android:visible="false"
yourapp:showAsAction="always"
android:icon="@drawable/escribirazul">
</item>
谢谢你的回答,从编程的角度来说,我可以看到所有的“项目”,当我把它们放在标题上时,标题会显示出来,但当我只放图标时,它不会显示出来。