【发布时间】:2015-01-12 14:21:32
【问题描述】:
这里我使用层列表通过 XML 绘制嵌套的 Circle
<item>
<shape android:shape="oval" >
<stroke
android:width="1dp"
android:color="@android:color/holo_orange_light" />
<padding
android:bottom="7dp"
android:left="7dp"
android:right="7dp"
android:top="7dp" />
</shape>
</item>
<item>
<shape android:shape="oval" >
<solid android:color="@color/welcome_bg" />
</shape>
</item>
不,我想要以编程方式使用相同的嵌套圆圈,因为我想动态更改颜色,或者有什么方法可以在上面提供的 xml 中动态更改颜色
这是我的自定义视图
public class MyView extends EditText {
public MyView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyView(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
Paint paint = new Paint();
paint.setStyle(Paint.Style.STROKE);
paint.setColor(Color.GRAY);
RectF oval1 = new RectF(50, 50, 300, 300);
canvas.drawOval(oval1, paint);
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.RED);
RectF oval2 = new RectF(55, 55, 295, 295);
canvas.drawOval(oval2, paint);
}
}
谢谢
【问题讨论】:
-
创建一个自定义 View 类,然后在 onDraw 中填充一些东西。这应该让你继续前进!
-
我创建了一个自定义视图,但在这种情况下嵌套的圆圈没有正确填充,它看起来只是像素模糊,但是当我使用 xml 代码时一切正常。
标签: java android eclipse stack-overflow