小编zaa*_*aak的帖子

LayerDrawable以编程方式

由于我的应用程序的颜色主题是动态的,我只能使用颜色和shaperawable创建背景绘图,我想构建一个可用颜色和形状绘制的edittext背景,如下所示.但我想以编程方式执行此操作

如何以编程方式构建同样的drawable?

<item>
    <shape>
        <solid android:color="@android:color/yellow" />
    </shape>
</item>

<!-- main color -->
<item
    android:bottom="1dp"
    android:left="1dp"
    android:right="1dp">
    <shape>
        <solid android:color="@android:color/white" />
    </shape>
</item>

<!-- draw another block to cut-off the left and right bars -->
<item android:bottom="10dp">
    <shape>
        <solid android:color="@android:color/white" />
    </shape>
</item>
Run Code Online (Sandbox Code Playgroud)

这就是我试过的......

    GradientDrawable border = new GradientDrawable();
    border.setShape(GradientDrawable.RECTANGLE);
    border.setColor(Color.WHITE);

    GradientDrawable background = new GradientDrawable();
    background.setShape(GradientDrawable.RECTANGLE);
    background.setColor(Color.YELLOW);


    GradientDrawable clip = new GradientDrawable();
    clip.setShape(GradientDrawable.RECTANGLE);
    border.setColor(Color.WHITE);

    Drawable[] layers = {background, border, clip};
    LayerDrawable layerDrawable = new LayerDrawable(layers);

    layerDrawable.setLayerInset(0, 0, 0, 0, …
Run Code Online (Sandbox Code Playgroud)

android drawable layerdrawable

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×1

drawable ×1

layerdrawable ×1