设置为绘图区域为一个自定的区域???

大树学长 2016-10-20 09:19:37
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);

// 设置画布的背景颜色为白色
canvas.drawColor(Color.BLUE);
}

怎么设置绘图的区域不是整个屏幕?
这绘图将我的控件都覆盖了,要如何设置画布的大小和区域?
...全文
375 10 打赏 收藏 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
大树学长 2016-10-26
  • 打赏
  • 举报
回复
问题暂时性解决,使用图片控件,取巧
assky124 2016-10-24
  • 打赏
  • 举报
回复
LinerLayout布局

<layout>
  <layout>
     views
  </layout>
  <myView></myView>
</layout>
大树学长 2016-10-24
  • 打赏
  • 举报
回复

如图,整个屏幕部分,上半部分显示控件和操作控件,下半部分画图。
因为设置绘制都是整个屏幕显示的,要怎么设置成图片中这样不全屏显示?????????????
大树学长 2016-10-20
  • 打赏
  • 举报
回复
源码:(这个是全屏显示的画图,将界面上别的东西都覆盖掉了,要怎么设置画布背景的范围) onCreate中 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.BLUE);
		      
		      // 定义画笔1
		      Paint paint = new Paint();
		      paint.setStyle(Paint.Style.FILL);//FILL实心   STROKE空心
		      // 消除锯齿
		      paint.setAntiAlias(true);
		      // 设置画笔的颜色
		      paint.setColor(Color.RED);
		      // 设置paint的外框宽度
		      paint.setStrokeWidth(5);
	
		      // 画一个圆
		      canvas.drawCircle(300, 400, 150, paint);   
}
}
大树学长 2016-10-20
  • 打赏
  • 举报
回复
引用 5 楼 Mailbomb 的回复:
直接画一个填充矩形不就可以了吗?
画步的背景什么的是全屏显示的,将我所有的东西都覆盖掉了,要怎么设置这个画布区域为了一个区域范围内
网络咖啡 2016-10-20
  • 打赏
  • 举报
回复
直接画一个填充矩形不就可以了吗?
hi_0123 2016-10-20
  • 打赏
  • 举报
回复
一 绘图覆盖了控件估计是布局的问题。 二 关于设置画布的大小和区域,需要重写自定义view的onMeasure方法,判断是match_parent还是wrap_content。 三 这篇博文中有关于重写onMeasure的一些实现,希望对你有所帮助。http://blog.csdn.net/kuangxiaoguo0123/article/details/52674581,你也可以去google下,很多关于自定义view的资料。
一不小心_ 2016-10-20
  • 打赏
  • 举报
回复
引用 2 楼 bigtree_mfc 的回复:
[quote=引用 1 楼 qq_25412055 的回复:] drawRect()中间传入左上角和右下角的坐标
设置绘图区域,不是画什么正方形[/quote] 那就把你要画的东西去传入rect,rect一般是用来确定坐标的,好好去看看API
大树学长 2016-10-20
  • 打赏
  • 举报
回复
引用 1 楼 qq_25412055 的回复:
drawRect()中间传入左上角和右下角的坐标
设置绘图区域,不是画什么正方形
一不小心_ 2016-10-20
  • 打赏
  • 举报
回复
drawRect()中间传入左上角和右下角的坐标

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧