Configurando o GradientDrawable através do RemoteView
Aqui está o que eu quero fazer: Eu tenho um widget e quero definir seu fundo dependendo da escolha de cores dos usuários. Tem que ser um gradiente. O backgound deve ser definido definindo o plano de fundo do linearLayout. Para testes, fiz isso para um plano de fundo falso como:
remoteViews.setInt(R.id.layout, "setBackgroundResource", R.drawable.widget_background);
Eu vi essa pergunta:Chame setImageDrawable a partir de RemoteViews mas não consigo entender como implementar. Eu ainda não consigo encontrarsetXYZ()
como mencionado lá. Aqui está o que eu tentei até agora:
Tentei ImageView como um fundo (antes de LinearLayout). Não fornece margem adequada ao widget. Como o texto do widget é dinâmico, às vezes ele sai da imageView, que não é o que eu quero
Fazendo um bg.xml no qual eu tenho:
<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>
Agora estou totalmente confuso e preso. Alguém pode ajudar (provavelmente mais de código e menos de links) ASSIM QUE POSSÍVEL? Além disso, por favornão feche esta questão como já foi perguntado.