Android如何在位图xml中设置不透明度

Com*_*ver 5 xml android bitmap alpha-transparency drawable

我需要通过xml创建一个位图资源,如:

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/btn_home"
    >
</bitmap>
Run Code Online (Sandbox Code Playgroud)

但是我需要为这个位图设置不透明度.有没有办法使用这个xml来做到这一点?我知道如果在位图标签内部允许使用Shape标签,它会起作用,但我尝试没有成功.

小智 3

如果您\xe2\x80\x99在ImageView中显示位图,则可以使用该ImageView.setAlpha(int)方法。但是,如果通过 RemoteViews 访问 ImageView,就像更新小部件时的情况一样,您将\xe2\x80\x99 无法调用此方法(如果您尝试通过您\xe2\ RemoteViews.setInt(int, String, int)x80\x99 调用它,将会得到一个例外告诉你这么多)。

\n\n
 private Bitmap adjustOpacity(Bitmap bitmap, int opacity)\n    {\n        Bitmap mutableBitmap = bitmap.isMutable()\n                               ? bitmap\n                               : bitmap.copy(Bitmap.Config.ARGB_8888, true);\n        Canvas canvas = new Canvas(mutableBitmap);\n        int colour = (opacity & 0xFF) << 24;\n        canvas.drawColor(colour, PorterDuff.Mode.DST_IN);\n        return mutableBitmap;\n    }\n
Run Code Online (Sandbox Code Playgroud)\n\n

更多信息。最常见的就像你的问题一样。如何在 Android 中设置视图的不透明度 (Alpha)

\n\n

来自developer.android.com 的位图文档

\n

  • 感谢您的输入。但我想在 xml 中设置不透明度,以便稍后可以在选择器中使用。 (8认同)