java - 在 Android 工具栏中显示图标

标签 java android icons toolbar

当我在菜单中选择一个选项时,我想在工具栏中显示 3 个图标,并且只显示图标的空间,但不显示图标,我在 xml 中尝试了很多 Action ,但没有任何效果,请提供帮助,谢谢在建议中。

这是 XML。

<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>  

Here is the image with the option selected,

插入文本是选项,escribir_negro、escirbir_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);
    }

最佳答案

您需要将 yourapp:icon 更改为 android:icon

更改此:

<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>

关于java - 在 Android 工具栏中显示图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27510820/

相关文章:

css - 浏览器有时会使用错误的字体来渲染图标,导致文本出现乱码

ios - 在未来版本中更改 iOS 应用程序图标

java - Double.isFinite 实现细节 - 为什么是 DoubleConsts.MAX_VALUE 而不是 Double.MAX_VALUE?

java - vector 与矩阵相乘

Android MediaDrm 唯一 ID

android - android 中的 XML 解析器

java - 采访任务: Limit number of concurrent requests with tokens

java - 如何使用 Apache tika TypeDetector 检测文件是否为 mp3?

android - 广播接收器不适用于 SMS

jquery - 调整 Jquery Mobile 中按钮图标的大小