相关疑难解决方法(0)

通过 RemoteView 设置 GradientDrawable

这是我想要做的:我有一个小部件,我想根据用户选择的颜色设置其背景。它必须是一个渐变。背景是通过设置linearLayout的背景来设置的。为了测试,我做了一个虚拟背景:

remoteViews.setInt(R.id.layout, "setBackgroundResource", R.drawable.widget_background);
Run Code Online (Sandbox Code Playgroud)

我见过这个问题:从 RemoteViews 调用 setImageDrawable但我无法理解如何实现。我什至找不到setXYZ()那里提到的。这是我迄今为止尝试过的:

  1. 使渐变可动态绘制。在这种方法中,我无法设置背景,因为 AFAIK 所有方法都采用可绘制对象的 id 并且我有一个可绘制对象。
  2. 尝试将 ImageView 作为背景(在 LinearLayout 之前)。它没有为小部件提供适当的边距。由于小部件文本是动态的,有时它会从 imageView 中消失,这不是我想要的

  3. 制作一个 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>
    
    Run Code Online (Sandbox Code Playgroud)

现在我完全困惑和卡住了。有人可以尽快帮助(可能更多的代码和更少的链接)吗?另外,请不要像已经问过的那样关闭这个问题

android drawable

3
推荐指数
1
解决办法
2983
查看次数

标签 统计

android ×1

drawable ×1