Android 实现paint类画线
时间: 2023-09-11 11:10:06 浏览: 85
Android仿百度地图小度语音助手的贝塞尔曲线动画
Android 中的 Paint 类可以用来绘制各种形状和线条。下面是一个简单的示例,演示如何使用 Paint 类在 Android 中绘制直线。
首先,在 XML 布局文件中添加一个 View:
```xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<View
android:id="@+id/drawing_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
```
然后,在 Activity 中获取该 View 并绘制直线:
```java
public class MainActivity extends AppCompatActivity {
private View drawingView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
drawingView = findViewById(R.id.drawing_view);
drawingView.setBackground(new CustomView(this));
}
private class CustomView extends View {
private Paint paint;
public CustomView(Context context) {
super(context);
init();
}
private void init() {
paint = new Paint();
paint.setColor(Color.RED);
paint.setStrokeWidth(5f);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
int startX = 0;
int startY = 0;
int stopX = getWidth();
int stopY = getHeight();
canvas.drawLine(startX, startY, stopX, stopY, paint);
}
}
}
```
在这个示例中,我们创建了一个 CustomView 类,继承自 View 类,并在该类中实现了 onDraw() 方法。onDraw() 方法用于绘制 View 上的内容,我们在这里使用 Canvas 类的 drawLine() 方法绘制了一条直线。
Paint 类的实例被创建在 CustomView 类的构造函数中,我们使用该实例设置了直线的颜色和线宽。如果需要绘制其他形状,也可以使用 Paint 类的其他方法来设置笔刷、阴影、渐变等效果。
阅读全文