ShapeDrawable的用法
时间: 2024-05-04 11:17:10 浏览: 108
ShapeDrawable是Android中的一个Drawable类型,它可以让开发者自定义绘制出各种形状的图形。下面是ShapeDrawable的用法:
1.创建一个ShapeDrawable对象
可以通过如下方式创建一个ShapeDrawable对象:
```
ShapeDrawable shapeDrawable = new ShapeDrawable();
```
2.设置ShapeDrawable的形状
在创建ShapeDrawable对象后,需要设置它的形状。ShapeDrawable支持以下几种形状:
矩形(RectangleShape):
```
shapeDrawable.setShape(new RectShape());
```
圆形(OvalShape):
```
shapeDrawable.setShape(new OvalShape());
```
线条(LineShape):
```
shapeDrawable.setShape(new LineShape());
```
圆角矩形(RoundRectShape):
```
float[] radii = {10, 10, 10, 10, 0, 0, 0, 0}; // 每个角的半径
RectF rectF = new RectF(0, 0, 100, 100); // 矩形的位置和大小
shapeDrawable.setShape(new RoundRectShape(radii, rectF, radii));
```
3.设置ShapeDrawable的颜色
设置ShapeDrawable的颜色可以使用setColor()方法:
```
shapeDrawable.getPaint().setColor(Color.RED);
```
4.设置ShapeDrawable的边框
设置ShapeDrawable的边框可以使用setStroke()方法:
```
shapeDrawable.getPaint().setStrokeWidth(5);
shapeDrawable.getPaint().setStyle(Paint.Style.STROKE);
shapeDrawable.getPaint().setColor(Color.BLACK);
```
5.使用ShapeDrawable
最后,可以将ShapeDrawable对象设置为View的背景或者ImageView的src属性,或者直接在自定义绘制的时候使用它。例如,在Activity的onCreate()方法中设置一个矩形ShapeDrawable的背景:
```
ShapeDrawable shapeDrawable = new ShapeDrawable();
shapeDrawable.setShape(new RectShape());
shapeDrawable.getPaint().setColor(Color.RED);
View view = findViewById(R.id.view);
view.setBackground(shapeDrawable);
```
阅读全文