Android通过onDraw实现在View中绘图操作
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"? ? xmlns:tools="http://schemas.android.com/tools"
? ? android:layout_width="match_parent"
? ? android:layout_height="match_parent" >
? ? <LinearLayout
? ? ? ? android:id="@+id/layout"
? ? ? ? android:layout_width="wrap_content"
? ? ? ? android:layout_height="wrap_content"
></LinearLayout>
</RelativeLayout>
package com.example.zidingyi;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;
public class DrawView extends View {
float paintX =400;
float paintY =600;
public DrawView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
/**
* 這個(gè)方法會(huì)在初始化后背調(diào)用一次,invaildate()的時(shí)候會(huì)被調(diào)用
*/
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint=new Paint();//設(shè)置一個(gè)筆
paint.setAntiAlias(true);//設(shè)置沒有鋸齒
paint.setColor(Color.RED);//設(shè)置筆的顏色
canvas.drawCircle(paintX, paintY, 50, paint);//距離畫圓
}
}
package com.example.zidingyi;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.LinearLayout;
import android.widget.Toast;
public class MainActivity extends Activity {
private LinearLayout layout;
@Override
? ? public void onCreate(Bundle savedInstanceState) {
? ? ? ? super.onCreate(savedInstanceState);
? ? ? ? setContentView(R.layout.activity_main);
? ? ? ??
? ? ? ? layout = (LinearLayout) ?findViewById(R.id.layout);//找到這個(gè)空間
? ? ? ? final DrawView drawView = new DrawView(this);//創(chuàng)建自定義的控件
? ? ? ? drawView.setMinimumHeight(300);
? ? ? ? drawView.setMinimumWidth(500);
? ? ? ? layout.addView(drawView);//講自定義的控件進(jìn)行添加
? ? ? ? //設(shè)置一個(gè)觸摸事件
? ? ? ? drawView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//改變之前的X,Y
drawView.paintX=event.getX();
drawView.paintY=event.getY();
//調(diào)用重新繪制
drawView.invalidate();
return true;
}
});
? ? }
}
轉(zhuǎn)載于:https://my.oschina.net/u/556624/blog/92414
總結(jié)
以上是生活随笔為你收集整理的Android通过onDraw实现在View中绘图操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎样申请支付宝 怎么申请支付宝账号
- 下一篇: 2022全国首套房贷款利率一览表,各大行