Android绘图机制(二)——自定义View绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Android绘图机制(二)——自定义View 绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解
我们要想画好一些炫酷的View,首先我们得知道怎么去画一些基础的图案,比如矩形,圆形,三角形,多边形等….
新建一个项目
然后我们创建一个listview,每个图案一个Activity,这样看起来是不是很顺眼
android:id="@+id/listview" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 编写ListView private ListView listview; //item上的数据源 private String[] name = {"矩形", "圆形", "三角形", "扇形", "椭圆", "曲线","文字和图片"}; //listview的adapter private ArrayAdapter private void initView() { //实例化listview listview = (ListView) findViewById(R.id.listview); //实例化数据源 adapter = new ArrayAdapter //listview设置adapter listview.setAdapter(adapter); //listview设置点击事件 listview.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView> parent, View view, int position, long id) { //判断点击了第几个 if (id == 0) { //矩形 startActivity(new Intent(MainActivity.this, RectActivity.class)); } else if (id == 1) { //圆形 startActivity(new Intent(MainActivity.this, CircleActivity.class)); } else if (id == 2) { //三角形 startActivity(new Intent(MainActivity.this, TrigonActivity.class)); } else if (id == 3) { //扇形 startActivity(new Intent(MainActivity.this, SectorActivity.class)); } else if (id == 4) { //椭圆 startActivity(new Intent(MainActivity.this, OvalActivity.class)); } else if (id == 5) { //曲线 startActivity(new Intent(MainActivity.this, PathActivity.class)); }else if (id == 6) { //曲线 startActivity(new Intent(MainActivity.this, TvIvActivity.class)); } } }); } 效果是这样的 后续可以添加 1.矩形——RectActivity 好的,上面写ListView的代码是不是很简单?拿我们新建一个RectActivity去画点了,首先我们要新建一个RectView继承View package com.lgl.view.view; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import android.view.View; /** * 矩形 * Created by LGL on 2016/1/7. */ public class RectView extends View { //无参 public RectView(Context context) { super(context); } //有参 public RectView(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); // 创建画笔 Paint p = new Paint(); //设置实心 p.setStyle(Paint.Style.FILL); // 设置红色 p.setColor(Color.BLACK); // 设置画笔的锯齿效果 p.setAntiAlias(true); //绘制 canvas.drawRect(50, 100, 300, 300, p); } } 截图