android 开发 View _1_ View的子类们 和 视图坐标系图
目录:
android 开发 View _2_ View的属性动画ObjectAnimator ,动画效果一览
android 开发 View _3_ View的属性动画ValueAnimator
android 开发 View _4_ 我的简单自定义ViewDemo
android 开发 View _8_ 动态图片自定义View
android 开发 View _10_ Path之基本操作
android 开发 View _12_ 用Canvas 绘制一张图片(博客中演示用Canvas画验证码图片)
android 开发 View _13 绘制图片与BitmapShader位图的图像渲染器
android 开发 View _14 自定义View的滑动
android 开发 View _15 导入一张图片将它裁剪成圆形
android 开发 View _16 自定义计步器View、自定义柱状图View
View的方法:
除了以上图片的方法,view还有其他方法,我们详解一下。后续帮助自定义view有些用处。图片里的get方法就不解释了,清晰明了。
getWidth与getHeight:
得到目标view的宽度与高度,当然如果非要骚气的玩,你也可以getRight - getLeft = getWidth。(我才不会告诉你,其实view的api里其实就是这么写的)
getScrollX与getScrollY:
可以把getScrollx的值看成坐标。比如view向右边移动20px。那么得到的值就是view.getScrollx()的值就是-20。
为什么会获取-20?而不是20?很简单,这里移动的并不是view本身而是显示view的镜头。镜头向左移动-20等于view向右移动了20。
假设getScrollX原始值为0,如果内容view移向左边,getScrollX为正,向右为负。
同理getScrollY,内容view向上移动,因为镜头向下移动了,所以getScrollY值为正,如果view向下移动,那么值就是负数。
layout(int l, int t, int r, int b):
移动目标View布局位置,参数含义是,view的四个边的坐标值:
int l = 左边的边
int t = 上面的边
int r = 右边的边
int b=下面的边
有点混乱?我们打个比方,假设我们想让这个view向右边移动20px。我们就需要这么输入参数:
view.layout(
getLeft()+20, //view左边的边增加20
getTop(),
getRight()+20,//view右边的边增加20
getBottom());
你可以参考上面的图片来理解一下这个逻辑,注意这个时候移动的不是镜头了,这个方法移动的是view本身,其实就是改变view的整体坐标。
android 开发 View _1_ View的子类们 和 视图坐标系图的更多相关文章
- Android开发进阶——自定义View的使用及其原理探索
在Android开发中,系统提供给我们的UI控件是有限的,当我们需要使用一些特殊的控件的时候,只靠系统提供的控件,可能无法达到我们想要的效果,这时,就需要我们自定义一些控件,来完成我们想要的效果了.下 ...
- Android 自定义View修炼-Android开发之自定义View开发及实例详解
在开发Android应用的过程中,难免需要自定义View,其实自定义View不难,只要了解原理,实现起来就没有那么难. 其主要原理就是继承View,重写构造方法.onDraw,(onMeasure)等 ...
- 深入Android开发之--理解View#onTouchEvent
一:前言 View是Android中最基本的UI单元. 当一个View接收到了触碰事件时,会调用其onTouchEvent方法.方法声明如下: ? 1 2 3 4 5 6 7 /** * Imple ...
- Android 开发中的View事件监听机制
在开发过程中,我们常常根据实际的需要绘制自己的应用组件,那么定制自己的监听事件,及相应的处理方法是必要的.我们都知道Android中,事件的监听是基于回调机制的,比如常用的OnClick事件,你了解它 ...
- android开发_view和view属性
一.view视图的宽度和高度属性,属性值:固定和浮动两种状态 1属性为固定值 <View android:layout_width="30dp" android:layout ...
- Android 开发 -------- 自己定义View 画 五子棋
自己定义View 实现 五子棋 配图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbG92ZV9KYXZjX3lvdQ==/font/5a6L5L2T ...
- android开发学习 ------- 自定义View 圆 ,其点击事件 及 确定当前view的层级关系
我需要实现下面的效果: 参考文章:https://blog.csdn.net/halaoda/article/details/78177069 涉及的View事件分发机制 https://www. ...
- android开发之自定义View 详解 资料整理 小冰原创整理,原创作品。
2019独角兽企业重金招聘Python工程师标准>>> /** * 作者:David Zheng on 2015/11/7 15:38 * * 网站:http://www.93sec ...
- DDMS android 开发工具-----dump View Hierarchy for UI automator
今天又发现一个好工具 dump View Hierarchy 对学习UI布局非常有优点,操作也非常easy的.直接上图说话了 watermark/2/text/aHR0cDovL2Jsb2cuY3N ...
随机推荐
- redis缓存工具类
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis ...
- LeetCode 695 岛屿的最大面积
题目: 给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合.你可以假设二维矩阵的四个边缘都被水包围着. 找到给定的二 ...
- ubuntu1604使用之旅——软件源更新(vim安装)
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup sudo gedit /etc/apt/sources.list # deb cd ...
- lua调用方法错误
self.sendMsg(json.encode(info),) self:sendMsg(json.encode(info),) 两个符号就差了一个点,引发的问题确实app崩溃,在这个方法中传的参数 ...
- L333 Should You Listen to Music While You Work?
Should You Listen to Music While You Work? "Whistle while you work" is classic advice, str ...
- [Ajax] 如何使用Ajax传递多个复选框的值
HTML+JavaScript代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...
- Java学习笔记40(sql:将数据库内数据存入对象中)
新建一个数据表: use qy97; create table student( id int primary key auto_increment, sname ), gander ), age i ...
- Oracle(二)在 Mysql 的基础上学习 Oracle
毕竟我是先学的mysql,对数据库的一切认知都会有一个先入为主的思想在里面,如果不搞清楚其中的异同,我感觉Oracle我是学不会 了,甚至会把它们混淆.那么,不会mysql的没必要往下看了. 下边第一 ...
- sklearn.model_selection.StratifiedShuffleSplit
sklearn.model_selection.StratifiedShuffleSplit
- # 20175120 2018.3.10 《Java程序设计》第2周学习总结
## 教材学习内容总结第二章内容1.标识符第一个字符不能是数字字符不能是关键字和true\false\null2.8个基本数据类型boolean int byte short long float d ...