0

像这样在 XML 中设置很容易:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient android:startColor="#BFEEFF" 
        android:endColor="#40B9FF" 
        android:angle="270"/>
    <corners 
        android:bottomLeftRadius="6dip"
        android:bottomRightRadius="6dip"/>
</shape>

但是我怎样才能在java代码中设置它呢?

4

2 回答 2

1

膨胀后它不是一个可绘制的形状(我知道这很令人困惑),
而是一个 GradientDrawable,代码非常简单,请查看文档http://developer.android.com/reference/android/graphics/drawable/GradientDrawable.html
特别是 setCornerRadius()。

GradientDrawable mDrawable = new GradientDrawable();
mDrawable.setShape(GradientDrawable.RECTANGLE);
mDrawable.setCornerRadius(5.0f);
....
// (note, this is untested and you might need to set other properties,
// e.g. color etc.)
于 2013-06-06T04:09:59.790 回答
0

我认为您想在 Dynamic time 创建 someView 。(如果这是真的)

我知道,相对于您的问题,这不是一个正确的答案,但我会给您另一种方法来在动态时间执行此操作,在 Selector 文件中添加形状文件并在 View 的 android:drawable ="@drawable/selector 中添加选择器文件” 。

于 2013-06-06T04:07:03.623 回答