1

Androidの通知を移植しました。通知の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)

次に、RemoteViewへの変更を次のように更新します。

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

それがあなたを助けることを願っています。

于 2020-03-04T03:32:32.523 に答える