これが私がやりたいことです:私はウィジェットを持っていて、ユーザーの色の選択に応じてその背景を設定したいと思います。グラデーションである必要があります。背景は、linearLayoutの背景を設定して設定します。テストのために、私はダミーの背景に対して次のようにそれを行いました:
remoteViews.setInt(R.id.layout, "setBackgroundResource", R.drawable.widget_background);
私はこの質問を見ました:RemoteViewsからsetImageDrawableを呼び出しますが、実装方法を理解できません。そこに書かれているように私も見つけることができませんsetXYZ()
。これが私が今まで試したことです:
- グラデーションを動的に描画可能にします。このアプローチでは、すべてのメソッドがドローアブルのIDを取得し、ドローアブルオブジェクトがあるため、背景を設定できません。
ImageViewを背景として試しました(LinearLayoutの前)。ウィジェットに適切なマージンを提供しません。ウィジェットのテキストは動的であるため、imageViewから外れることがありますが、これは私が望むものではありません
私が持っているbg.xmlを作る:
<shape xmlns:android="http://schemas.android.com/apk/res/android" > <padding android:bottom="1dp" android:left="1dp" android:right="1dp" android:top="1dp" /> <corners android:bottomLeftRadius="7dp" android:bottomRightRadius="7dp" android:topLeftRadius="7dp" android:topRightRadius="7dp" /> </shape>
今、私は完全に混乱して立ち往生しています。誰かができるだけ早く(おそらくより多くのコードとより少ないリンク)を助けることができますか?また、すでに尋ねられたように、この質問を閉じないでください。