我移植了Android的通知,如何在RemoteView of Notification中设置ImageView的背景,并将其设置为透明?
我试过
remoteViews.setInt(R.id.icon, "setBackgroundResource", 0x00000000);
但它不起作用。
我认为问题是我无法在另一个应用程序进程中从Android框架获取R.id.yourFrame。所以上面的代码只适用于当前的小部件进程。
那么如何将已编译的R.id.icon作为int?我想以这种方式尝试。
答案 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)
希望对您有帮助。