1

我移植了Android的Notification,如何在Notification的RemoteView中设置ImageView的背景,并设置为透明?

我试过了

remoteViews.setInt(R.id.icon, "setBackgroundResource", 0x00000000);

但它没有奏效。

我认为问题是我无法在另一个应用程序进程中从 Android 框架获取 R.id.yourFrame。所以上面的代码只适用于当前的小部件进程。

那么如何将编译后的 R.id.icon 作为 int 获取呢?我想以这种方式尝试。

4

4 回答 4

3

您还可以使用以下方法为远程视图设置 ImageView 的背景

remoteView.setInt(R.id.imgViewFollowed, "setBackgroundResource", R.drawable.icon_followed);
于 2013-06-24T08:40:38.587 回答
2

尝试这个

remoteView.setBackgroundColor(0x0000FF00);

或者

remoteView.setInt(R.id.yourFrame, "setBackgroundColor",
    android.R.color.transparent);

或者

remoteView.setInt(R.id.yourFrame,"setBackgroundColor",
    android.graphics.Color.TRANSPARENT);

您还可以通过在 XML 中添加以下代码来设置任何布局或任何视图或任何组件的背景透明:

android:background="@android:color/transparent"
于 2013-01-04T09:27:06.023 回答
1
 RemoteViews views = new RemoteViews(context.getPackageName(),R.layout.activity_main);

views.setInt(R.id.image1, "setBackgroundResource", android.R.color.holo_blue_bright);

它对我来说很好用

于 2015-03-30T11:42:05.227 回答
0

首先,您需要通过以下方式更改视图的颜色

remoteview.setInt(R.id.viewId, "setBackgroundColor", color)

然后您通过以下方式更新对 RemoteViews 的更改

val notificationManager: NotificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
notificationManager.notify(ID.SERVICE_ID, notification)

希望对您有所帮助。

于 2020-03-04T03:32:32.523 回答