Android自定义View研究(六)--View中的原点坐标相关问题
我们自定义了View,但是有没想过一个问题,就是View中的(0,0)坐标,也就是原点坐标在哪??我们是不是有时候很困惑,接下来我们就来研究View中的原点坐标相关的问题。
一、new HelloView时View的原点
我们通过从View中绘制一条从原点到右下角的线来看看这个View中的原点和这个View的宽和高。这里我们从onDraw(Canvas canvas)中绘制,下面给出核心代码。
HelloView.java
/** * 初始化绘制线的画笔 * */ public void initLinePaint(){ linePaint = new Paint(); // 设置画笔 linePaint.setColor(Color.GREEN); linePaint.setAntiAlias(true); linePaint.setStrokeWidth(5); // 设置线宽 } /** * 绘制View * */ protected void onDraw(Canvas canvas){ Log.v("onDraw(Canvas canvas)","" + this.getHeight()+ " " + this.getWidth()); canvas.drawColor(Color.WHITE); initLinePaint(); // 初始化画笔 myUseBitmapFactory(canvas); canvas.drawLine(0, 0, this.getWidth(), this.getHeight(), linePaint); } |
运行:
通过观察发现,View大小是从使用继承View的那个Label下开始
计算的,也就是这个View原点是在Label的左下角开始,到屏幕的右下角结束。
自己多试试,呵呵。
二、使用XML中布局文件时的View原点。
修改布局:
MainActivity.java
/** * 使用自定义的View * */ public class MainActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);// 使用自定义的View } } |
这里直接给出运行结果图:
我想不用我说大家就明白了吧,哈哈,不多解释了。
转载于:https://blog.51cto.com/lovewf/728918
Android自定义View研究(六)--View中的原点坐标相关问题相关推荐
- Android自定义仿Siri曲线View
Android自定义仿Siri曲线View 效果图 代码实现 仔细观察效果图可以发现,波浪其实是由4条贝塞尔曲线组成的,可以在自定义View的onDraw函数中,用Path.quadTo函数画出4条曲 ...
- imos style android,自定义的第一个view
可以实现 动态 添加 view 并且 能获取 添加的view 所绑定的数据 package app.imos.imosapp.views; import android.content.Context ...
- android组件什么时候加载到r文件,Android自定义加载loading view动画组件
我写写使用步骤 自定义view(CircleProgress )的代码 package com.hysmarthotel.view; import com.hysmarthotel.roomcontr ...
- android 自定义ViewGroup和对view进行切图动画实现滑动菜单SlidingMenu[转]
http://blog.csdn.net/jj120522/article/details/8095852 示意图就不展示了,和上一节的一样,滑动菜单SlidingMenu效果如何大家都比较熟悉,在这 ...
- android自定义进度条渐变色View,不使用任何图片资源
最近在公司,项目不是很忙了,偶尔看见一个兄台在CSDN求助,帮忙要一个自定义的渐变色进度条,我当时看了一下进度条,感觉挺漂亮的,就尝试的去自定义view实现了一个,废话不说,先上图吧! 这个自 ...
- android自定义tab的分隔符,TabView中的分隔符
CTabCtrl :: InsertItem可以将视图作为tabctrl中的新选项卡插入. CWnd* CObjectDlg::AddView(LPCTSTR lpszLabel, CRuntimeC ...
- android即时通讯研究(逐渐完善中,还很简单)
前段时间转行android开发,为了学习做了个即时通话的项目,可以两个人直接通话,使用tcp传送数据. 主要是为了学习android基础知识,所以做的比较简单,语音通话的降噪和回音消除都没有做.有兴趣 ...
- android 获取绝对坐标,Android获得控件在屏幕中的绝对坐标
int[] location = new int[2] ; view.getLocationInWindow(location); //获取在当前窗口内的绝对坐标view.getLocationOnS ...
- Android自定义文件路径箭头,Android自定义ViewGroup实现带箭头的圆角矩形菜单
本文和大家一起做一个带箭头的圆角矩形菜单,大概长下面这个样子: 要求顶上的箭头要对准菜单锚点,菜单项按压反色,菜单背景色和按压色可配置. 最简单的做法就是让UX给个三角形的图片往上一贴,但是转念一想这 ...
- Android按钮滚动条,Android自定义Seekbar滑动条,Pop提示跟随滑动按钮一起滑动
由于项目需要做出此效果,自定义写了一个. 效果图 思路: 原始的seekbar只有滑动条并没有下方的提示文字,所以我们必须要继承Seekbar重写这个控件. 代码: 在values文件夹下新建attr ...
最新文章
- 【强烈推荐】Github star 10K+,周志华机器学习详细公式推导!
- L2-005. 集合相似度
- 计算机网络方面国际三大顶级会议 - MOBICOM - SIGCOMM - INFOCOM
- 如何将eclipse设置为炫丽的全黑背景!
- 【web安全】Web应用隔离防护之Web弱口令爆破
- 理解K8S的编排和网络
- 极致业务基础开发平台
- spingbot 与 activiti 整个 中创建表而找不到表的问题(创建表失败)
- public class c中_C++中如何使用类模板
- 因子分析 factor analysis (一 ):模型的理论推导
- 【机器学习实战】决策树算法:预测隐形眼镜类型
- 实时调试WebDriver代码
- PTA-1021-Deepest Root
- 2022-2027年中国卫星遥感市场竞争态势及行业投资前景预测报告
- idea pom引入依赖 Dependency ‘xxx‘ not found less... (Ctrl+F1) Inspect
- 欠债还钱,天经地义(一)
- IDEA中如何打包为jar包
- Java 白皮书 —— A White Paper
- 微信小程序用什么编写
- 联通云服务器如何开放端口