我们自定义了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中的原点坐标相关问题相关推荐

  1. Android自定义仿Siri曲线View

    Android自定义仿Siri曲线View 效果图 代码实现 仔细观察效果图可以发现,波浪其实是由4条贝塞尔曲线组成的,可以在自定义View的onDraw函数中,用Path.quadTo函数画出4条曲 ...

  2. imos style android,自定义的第一个view

    可以实现 动态 添加 view 并且 能获取 添加的view 所绑定的数据 package app.imos.imosapp.views; import android.content.Context ...

  3. android组件什么时候加载到r文件,Android自定义加载loading view动画组件

    我写写使用步骤 自定义view(CircleProgress )的代码 package com.hysmarthotel.view; import com.hysmarthotel.roomcontr ...

  4. android 自定义ViewGroup和对view进行切图动画实现滑动菜单SlidingMenu[转]

    http://blog.csdn.net/jj120522/article/details/8095852 示意图就不展示了,和上一节的一样,滑动菜单SlidingMenu效果如何大家都比较熟悉,在这 ...

  5. android自定义进度条渐变色View,不使用任何图片资源

    最近在公司,项目不是很忙了,偶尔看见一个兄台在CSDN求助,帮忙要一个自定义的渐变色进度条,我当时看了一下进度条,感觉挺漂亮的,就尝试的去自定义view实现了一个,废话不说,先上图吧!     这个自 ...

  6. android自定义tab的分隔符,TabView中的分隔符

    CTabCtrl :: InsertItem可以将视图作为tabctrl中的新选项卡插入. CWnd* CObjectDlg::AddView(LPCTSTR lpszLabel, CRuntimeC ...

  7. android即时通讯研究(逐渐完善中,还很简单)

    前段时间转行android开发,为了学习做了个即时通话的项目,可以两个人直接通话,使用tcp传送数据. 主要是为了学习android基础知识,所以做的比较简单,语音通话的降噪和回音消除都没有做.有兴趣 ...

  8. android 获取绝对坐标,Android获得控件在屏幕中的绝对坐标

    int[] location = new int[2] ; view.getLocationInWindow(location); //获取在当前窗口内的绝对坐标view.getLocationOnS ...

  9. Android自定义文件路径箭头,Android自定义ViewGroup实现带箭头的圆角矩形菜单

    本文和大家一起做一个带箭头的圆角矩形菜单,大概长下面这个样子: 要求顶上的箭头要对准菜单锚点,菜单项按压反色,菜单背景色和按压色可配置. 最简单的做法就是让UX给个三角形的图片往上一贴,但是转念一想这 ...

  10. Android按钮滚动条,Android自定义Seekbar滑动条,Pop提示跟随滑动按钮一起滑动

    由于项目需要做出此效果,自定义写了一个. 效果图 思路: 原始的seekbar只有滑动条并没有下方的提示文字,所以我们必须要继承Seekbar重写这个控件. 代码: 在values文件夹下新建attr ...

最新文章

  1. 【强烈推荐】Github star 10K+,周志华机器学习详细公式推导!
  2. L2-005. 集合相似度
  3. 计算机网络方面国际三大顶级会议 - MOBICOM - SIGCOMM - INFOCOM
  4. 如何将eclipse设置为炫丽的全黑背景!
  5. 【web安全】Web应用隔离防护之Web弱口令爆破
  6. 理解K8S的编排和网络
  7. 极致业务基础开发平台
  8. spingbot 与 activiti 整个 中创建表而找不到表的问题(创建表失败)
  9. public class c中_C++中如何使用类模板
  10. 因子分析 factor analysis (一 ):模型的理论推导
  11. 【机器学习实战】决策树算法:预测隐形眼镜类型
  12. 实时调试WebDriver代码
  13. PTA-1021-Deepest Root
  14. 2022-2027年中国卫星遥感市场竞争态势及行业投资前景预测报告
  15. idea pom引入依赖 Dependency ‘xxx‘ not found less... (Ctrl+F1) Inspect
  16. 欠债还钱,天经地义(一)
  17. IDEA中如何打包为jar包
  18. Java 白皮书 —— A White Paper
  19. 微信小程序用什么编写
  20. 联通云服务器如何开放端口

热门文章

  1. 同时启动两个android模拟器
  2. Ajax学习札记(前言)
  3. python 高阶函数之filter
  4. c/c++ linux 进程 fork wait函数
  5. SAP 图标查找及方法
  6. STM32 中的CEC
  7. Python开发环境的搭建(win7)
  8. .Net中的并行编程-6.常用优化策略
  9. 使用GDB调试Android NDK native(C/C++)程序-转
  10. SQLServer表字段默认值相关信息的获取方法