【问题标题】:Can i use vector drawable file in ActionBar Menu Icon?我可以在 ActionBar 菜单图标中使用矢量可绘制文件吗?
【发布时间】:2016-02-27 05:40:07
【问题描述】:

我可以在 ActionBar 菜单图标中使用矢量文件吗?

现在 appCompat 支持 API 的矢量文件 > 8. 我可以在 ActionBar 菜单中使用矢量绘图吗?

【问题讨论】:

    标签: android android-actionbar android-vectordrawable


    【解决方案1】:

    如果您以编程方式设置菜单图标,它适用于 Android

    @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.mymenu, menu);
            MenuItem cancelMenuItem = menu.getItem(0);
    
            VectorDrawableCompat vectorDrawableCompat = VectorDrawableCompat.create(getResources(), R.drawable.vector_drawable_delete, null);
            cancelMenuItem.setIcon(vectorDrawableCompat);
    
            return super.onCreateOptionsMenu(menu);
        }
    

    【讨论】:

      【解决方案2】:

      在 Application 或 Activity 中添加 AppCompatDelegate.setCompatVectorFromResourcesEnabled(true)

      【讨论】:

      • 你也可以在你的 gradle.build 中这样做。只需在 android{ } 标记中添加行 vectorDrawables.useSupportLibrary = true。请参阅ClickMe 了解更多信息。
      • 使用 vectorDrawables.useSupportLibrary = true 对我不起作用,虽然我使用的是 gradle 插件 3.0.1,但 AppCompatDelegate.setCompatVectorFromResourcesEnabled(true) 工作得很好。
      【解决方案3】:

      它对我来说很好用。用于操作栏的矢量可绘制罚款

      【讨论】:

      • 您能分享一下您在 Android
      • 这就是我设法让它工作的方法,确保在显示可绘制矢量AppCompatDelegate.setCompatVectorFromResourcesEnabled(true)之前调用它
      【解决方案4】:

      在你的 xml 文件中使用 ->

      `app:icon="@drawable/vector_name_available"``
      

      而不是建议的 pre android xml

      android:icon="@drawable/????????????

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-10-13
        • 2016-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多