Android绘图机制(二)——自定义View绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解资料

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 ArrayAdapteradapter;

private void initView() {

//实例化listview

listview = (ListView) findViewById(R.id.listview);

//实例化数据源

adapter = new ArrayAdapter(this, yout.simple_list_item_1, name);

//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);

}

}

截图

相关文档
最新文档