如何在Android的Notification的RemoteView中设置ImageView的背景?

时间:2013-01-04 09:10:18

标签: android background imageview remoteview

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

我试过

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

但它不起作用。

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

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

4 个答案:

答案 0 :(得分:3)

您还可以使用以下设置ImageView for remoteview的背景

remoteView.setInt(R.id.imgViewFollowed, "setBackgroundResource", R.drawable.icon_followed);

答案 1 :(得分: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"

答案 2 :(得分:1)

 RemoteViews views = new RemoteViews(context.getPackageName(),R.layout.activity_main);

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

它的工作正常我

答案 3 :(得分:0)

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

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

然后您将更改更新到您的RemoteView,方法是

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

希望对您有帮助。

相关问题