我已经移植了Android的Notification,如何在Notification的RemoteView中设置ImageView的背景,并将其设置为透明?
我尝试过
remoteViews.setInt(R.id.icon, "setBackgroundResource", 0x00000000);
但是没有用。
我认为问题是我无法在另一个应用程序进程中从Android框架获取R.id.yourFrame。因此,上面的代码仅适用于当前的小部件过程。
因此,如何获取已编译的R.id.icon作为int?我想尝试这种方式。
尝试一下
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"
您还可以使用以下方法将ImageView的背景设置为remoteview
remoteView.setInt(R.id.imgViewFollowed, "setBackgroundResource", R.drawable.icon_followed);
RemoteViews views = new RemoteViews(context.getPackageName(),R.layout.activity_main);
views.setInt(R.id.image1, "setBackgroundResource", android.R.color.holo_blue_bright);
对我来说工作正常
首先,您需要通过以下方式更改视图的颜色:>
remoteview.setInt(R.id.viewId, "setBackgroundColor", color)
然后您将更改更新到您的RemoteViews,方法是>
val notificationManager: NotificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager notificationManager.notify(ID.SERVICE_ID, notification)
希望对您有帮助。