永发信息网

如何用android 画出三角形

答案:2  悬赏:40  手机版
解决时间 2021-04-27 19:48
如何用android 画出三角形
最佳答案
1、设置View,重写protected void onDraw(Canvas canvas)方法
2、使用onDraw中的canvas,通过Path设置三角形的三个顶点,通过drawPath方式绘制三角形
示例:
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawText("画三角形:", 10, 200, p);
// 绘制这个三角形,你可以绘制任意多边形
Path path = new Path();
path.moveTo(80, 200);// 此点为多边形的起点
path.lineTo(120, 250);
path.lineTo(80, 250);
path.close(); // 使这些点构成封闭的多边形
canvas.drawPath(path, p);
}
全部回答
。支支吾吾也没说出来,哎,回家一想太可气 了,就找到方法。原来是android.graphics.Path这个类,实现的。Api里的描述如下:The Path class encapsulates compound (multiple contour) geometric paths consisting of straight line segments, quadratic curves, and cubic curves. It can be drawn with canvas.drawPath(path, paint), either filled or stroked (based on the paint's Style), or it can be used for clipping or to draw text on a path. 它大概的意思是说path类包含了多种组件,比如直线段,二次曲线,三次曲线,它可以在画布上绘制,无论是填充或笔画。下面举例说明:package cn.lgl.draw; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.LinearGradient; import android.graphics.Paint; import android.graphics.Path; import android.graphics.RectF; import android.graphics.Shader; import android.view.View; public class MyView extends View { public MyView(Context context) { super(context); // TODO Auto-generated constructor stub } @Override protected void onDraw(Canvas canvas) { // TODO Auto-generated method stub super.onDraw(canvas); canvas.drawColor(Color.WHITE); Paint paint=new Paint(); paint.setAntiAlias(true); paint.setColor(Color.RED); paint.setStyle(Paint.Style.STROKE); paint.setStrokeWidth(3); Path path=new Path(); path.moveTo(10,330); path.lineTo(70,330); path.lineTo(40,100); path.close(); canvas.drawPath(path, paint); paint.setStyle(Paint.Style.FILL); paint.setColor(Color.BLUE); Path path2=new Path(); path2.moveTo(90,330); path2.lineTo(150,330); path2.lineTo(120,270); path2.close(); canvas.drawPath(path2, paint); Shader mShader=new LinearGradient(0,0,100,100, new int[]{Color.RED,Color.GREEN,Color.BLUE,Color.YELLOW}, null,Shader.TileMode.REPEAT); paint.setShader(mShader); Path path4=new Path(); path4.moveTo(170,330); path4.lineTo(230,330); path4.lineTo(200,270); path4.close(); canvas.drawPath(path4,paint); } }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
QQ农场仓库物品丢失
50万能买到部什么样的车 50万包牌的噢...
你会怎么爱你的女朋友
明天火箭几点比赛?谁主场?
我的聊天记录被拦截偷看了怎么办
辣椒是美容还是上火的?
愛情的本質是什麽?
同我者、同性为比肩、异性为劫财。 例如:癸
五月份去埃及穿什么,5月分去埃及旅游,当地天
田径包括什么
洛墨刺青地址在什么地方,想过去办事
怎样才能让烟头烫的水泡永远留下痕迹
学籍档案除了大学通知书外还能用别的提取档案
谁能邀请我开通游戏人生?
戴尔 1015(S521064WCN)有什么优点,缺点有
推荐资讯
我是新手可以学吗
黑龙滩山庄在哪里啊,我有事要去这个地方
老天为什么会打雷下雨?
一种跑的好快的蚂蚁,也不容易死,黑黑的,比
设计图片怎么设计的
怀孕期间可以用BB霜么?
JYJ的新歌是那些?
一道中考物理题
为什么恋人之间要有不信任的因素存在?
伤疤会遗传吗?
求绯弹的亚莉亚官方网站
为什么我的QQ昵称只能输入6个字符?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?