android画矩形
1. Android开发如何通过触摸动态地在屏幕上画矩形
一两句话很难详细描述明白,弄懂以下两项就能解决。
1、搞懂onTouch事件,这个回调可以监听到触摸的坐标。
2、搞懂android绘图基础。
2. Android:如下关于绘制圆角矩形边框问题,怎么解决
paint.setAntiAlias(true);
尝试在画笔上设置抗锯齿
3. Android如何画圆角矩形
建立 rect_gray.xml文件放在drawable文件夹下面。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- 填充颜色 -->
<solid android:color="#FFFFFF"></solid>
<!-- 线的宽度,颜色灰色 -->
<stroke android:width="1dp" android:color="#D5D5D5"></stroke>
<!-- 矩形的圆角半径 -->
<corners android:radius="0dp" />
</shape>
然后在布局的xml里面:
作为ImageView或者Linearlayout等作为背景源就可以了。
<LinearLayout
android:id="@+id/activity_myhezu_wantchuzu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/myhezu_dottedline_rect_green"
android:orientation="horizontal" >
4. android里面如何填充矩形呢
方案:
在canvas上画矩形,然后设置画笔为实心就可以了。
代码示例:
java">paint.setStyle(Style.FILL);//实心矩形框
paint.setColor(Color.RED);//颜色为红色
canvas.drawRect(newRectF(10,10,300,100),paint);//画一个290*90的红色实心矩形
5. 怎么用Android画一个正方形
先来介绍一下画几何图形要用到的,画布(Canvas)、画笔(Paint)。
1. 画一个圆使用的是drawCircle:canvas.drawCircle(cx, cy, radius, paint);x、y代表坐标、radius是半径、paint是画笔,就是画图的颜色;
2. 在画图的时候还要有注意,你所画的矩形是实心(paint.setStyle(Paint.Style.FILL))还是空心(paint.setStyle(Paint.Style.STROKE);
画图的时候还有一点,那就是消除锯齿:paint.setAntiAlias(true);
3. 还有就是设置一种渐变颜色的矩形:
Shader mShader = new LinearGradient(0,0,100,100, new int[]{Color.RED,Color.GREEn,Color.BLUE,Color.YELLO},null,Shader.TileMode.REPEAT);
ShapeDrawable sd;
//画一个实心正方形
sd = new ShapeDrawable(new RectShape());
sd.setBounds(20,20,100,100);
sd.draw(canvas);
//一个渐变色的正方形就完成了
4. 正方形:drawRect:canvas.drawRect(left, top, right, bottom, paint)
这里的left、top、right、bottom的值是:
left:是矩形距离左边的X轴
top:是矩形距离上边的Y轴
right:是矩形距离右边的X轴
bottom:是矩形距离下边的Y轴
5. 长方形:他和正方形是一个原理,这个就不用说了
6. 椭圆形:记住,这里的Rectf是float类型的
RectF re = new Rect(left, top, right, bottom);
canvas.drawOval(re,paint);
好了,说了这么多的的东西,那就让我们来看一下真正的实例吧!!!
package com.hades.game;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;
import android.os.Bundle;
import android.view.View;
public class CanvasActivity extends Activity {
/**
* 画一个几何图形
* hades
* 蓝色着衣
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyView myView = new MyView(this);
setContentView(myView);
}
public class MyView extends View {
public MyView(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 设置画布的背景颜色
canvas.drawColor(Color.WHITE);
/**
* 定义矩形为空心
*/
// 定义画笔1
Paint paint = new Paint();
paint.setStyle(Paint.Style.STROKE);
// 消除锯齿
paint.setAntiAlias(true);
// 设置画笔的颜色
paint.setColor(Color.RED);
// 设置paint的外框宽度
paint.setStrokeWidth(2);
// 画一个圆
canvas.drawCircle(40, 30, 20, paint);
// 画一个正放形
canvas.drawRect(20, 70, 70, 120, paint);
// 画一个长方形
canvas.drawRect(20, 170, 90, 130, paint);
// 画一个椭圆
RectF re = new RectF(20, 230, 100, 190);
canvas.drawOval(re, paint);
/**
* 定义矩形为实心
*/
paint.setStyle(Paint.Style.FILL);
// 定义画笔2
Paint paint2 = new Paint();
// 消除锯齿
paint2.setAntiAlias(true);
// 设置画笔的颜色
paint2.setColor(Color.BLUE);
// 画一个空心圆
canvas.drawCircle(150, 30, 20, paint2);
// 画一个正方形
canvas.drawRect(185, 70, 130, 120, paint2);
// 画一个长方形
canvas.drawRect(200, 130, 130, 180, paint2);
// 画一个椭圆形
RectF re2 = new RectF(200, 230, 130, 190);
canvas.drawOval(re2, paint2);
}
}
}
6. android 我用一张图片做画布,要在这张图片上画三个矩形 可是却只画出一个矩形
你的方法不对,drawRect(left, top, right, bottom, paint) 这个方法本来就是画矩形的,其中上下左右四个坐标点代表它的四个顶点。
7. 如何使用 Photoshop CS5 绘制一个 Android 矩形图标
使用PS创建安卓图标
1.创建画板,500*500像素,分辨率72,参数如下图。
8. android怎么画圆角的矩形
如果你是在自定义view的onDraw方法中:
RectFrectF=newRectF(100,100,500,500);//先画一个矩形
Paintpaint=newPaint(Paint.ANTI_ALIAS_FLAG);//创建画笔
paint.setColor(R.color.colorAccent);//添加画笔颜色
canvas.drawRoundRect(rectF,30,30,paint);//根据提供的矩形为四个角画弧线,(其中的数字:第一个表示X轴方向大小,第二个Y轴方向大小。可以改成其他的,你可以自己体验),最后添加画笔。
如果你是在布局中直接添加,楼上已经做出方法,我就不举例了。
9. android绘图之Canvas基础(2)
Canvas画布,用于绘制出各种形状配合画布的变幻操作可以绘制出很多复杂图形,基本的绘制图形分类。
提供的绘制函数:
上面四个函数都可以绘制canvas的背景,注意到PorterDuff.Mode变量,它只对两个canvas绘制bitmap起作用,所以此处暂时不讨论mode参数(没有设置mode默认使用srcover porterff mode)。
Rect 和RectF都是提供一个矩形局域。
(1)精度不一样,Rect是使用int类型作为数值,RectF是使用float类型作为数值。
(2)两个类型提供的方法也不是完全一致。
**
rect:RectF对象,一个矩形区域。
rx:x方向上的圆角半径。
ry:y方向上的圆角半径。
paint:绘制时所使用的画笔。**
**
cx 圆心x
cy 圆心y
radius半径**
需要一个Path,代表路径后面会讲解。
绘制线的集合,参数中pts是点的集合,两个值代表一个点,四个值代表一条线,互相之间不连接。
offset跳过的点,count跳过之后要绘制的点的总数,可以用于集合中部分点的绘制。
跳过部分节点:
没有跳过点
RectF oval:生成弧的矩形,中心为弧的圆心
float startAngle:弧开始的角度,以X轴正方向为0度,顺时针
float sweepAngle:弧持续的角度
boolean useCenter:是否有弧的两边,True,还两边,False,只有一条弧
在矩形框内画一个椭圆,如果是个正方形会画出一个圆。
canvas.drawPoint();
canvas.drawPoints();
**
只需要提供两个点一个坐标就可以绘制点。
canvas.drawPoint(20,20,mPaint);
float[] points = {30,40,40,50,60,60};
canvas.drawPoints(points,mPaint);**
这几种方法类似:
canvas.drawText("好好学习,天天向上",100,100,mPaint);
drawTextOnPath
沿着一条 Path 来绘制文字
text 为所需要绘制的文字
path 为文字的路径
hOffset 文字相对于路径的水平偏移量,用于调整文字的位置
vOffset 文字相对于路径竖直偏移量,用于调整文字的位置
值得注意的是,在绘制 Path 的时候,应该在拐弯处使用圆角,这样文字显示时更舒服
大致讲解,后面会重点讲解。
Rect src
Rect dst
其中src和dst这两个矩形区域是用来做什么的?
Rect src:指定绘制图片的区域
Rect dst或RectF dst:指定图片在屏幕上的绘制(显示)区域
首先指定图片区域,然后指定绘制图片的区域。
android绘图之Paint(1)
android绘图之Canvas基础(2)
Android绘图之Path(3)
Android绘图之drawText绘制文本相关(4)
Android绘图之Canvas概念理解(5)
Android绘图之Canvas变换(6)
Android绘图之Canvas状态保存和恢复(7)
Android绘图之PathEffect (8)
Android绘图之LinearGradient线性渐变(9)
Android绘图之SweepGradient(10)
Android绘图之RadialGradient 放射渐变(11)
Android绘制之BitmapShader(12)
Android绘图之ComposeShader,PorterDuff.mode及Xfermode(13)
Android绘图之drawText,getTextBounds,measureText,FontMetrics,基线(14)
Android绘图之贝塞尔曲线简介(15)
Android绘图之PathMeasure(16)
Android 动态修改渐变 GradientDrawable