android 画一个屏幕八分之一大小的田字格,在屏幕的左上方
时间: 2024-04-30 09:18:24 浏览: 125
android 画图
5星 · 资源好评率100%
可以使用 Android 中的 Canvas 和 Paint 类来实现该功能。具体实现步骤如下:
1. 在 xml 布局文件中添加一个自定义 View,如下所示:
```
<com.example.gridview.Gridview
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/gridview"/>
```
2. 创建一个继承自 View 的类 Gridview,重写 onDraw 方法,在该方法中绘制田字格,代码如下:
```
public class Gridview extends View {
private int mWidth, mHeight;
private Paint mPaint;
public Gridview(Context context) {
this(context, null);
}
public Gridview(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public Gridview(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
mPaint = new Paint();
mPaint.setColor(Color.BLACK);
mPaint.setStrokeWidth(2);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
mWidth = getMeasuredWidth() / 8;
mHeight = getMeasuredHeight() / 8;
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 绘制横向线
for (int i = 0; i <= 8; i++) {
canvas.drawLine(0, i * mHeight, mWidth * 8, i * mHeight, mPaint);
}
// 绘制纵向线
for (int i = 0; i <= 8; i++) {
canvas.drawLine(i * mWidth, 0, i * mWidth, mHeight * 8, mPaint);
}
}
}
```
3. 在 Activity 中获取该自定义 View 并添加到布局中,如下所示:
```
Gridview gridview = findViewById(R.id.gridview);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
params.gravity = Gravity.START | Gravity.TOP;
gridview.setLayoutParams(params);
```
运行程序,即可看到在屏幕的左上方绘制了一个屏幕八分之一大小的田字格。
阅读全文