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

问题描述 投票:1回答:4

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

我尝试过

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

但是没有用。

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

因此,如何获取已编译的R.id.icon作为int?我想尝试这种方式。

android background imageview remoteview
4个回答
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"

3
投票

您还可以使用以下方法将ImageView的背景设置为remoteview

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

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

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

对我来说工作正常


0
投票

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

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

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

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

希望对您有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.