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 ...
随机推荐
- JVM配置参数详解
记录一下jvm中的一些配置参数,这些肯定不全的,希望你们能留个言,补全一下,谢谢啦! -XX: MaxDirectMemorySize--->设置直接内存,不设置与Java堆内存最大值一致 -X ...
- hadoop 设置回收站
我的问题是:hadoop回收站为什么会保留多个过期时间的数据 我们知道hadoop的回收站是在我们删除数据后能恢复的目录,但是我们并不希望在回收站保存太久的数据,我们可以使用如下参数进行配置. ...
- Codeforces Round #324 (Div. 2) (哥德巴赫猜想)
题目:http://codeforces.com/problemset/problem/584/D 思路: 关于偶数的哥德巴赫猜想:任一大于2的偶数都可写成两个素数之和. 关于奇数的哥德巴赫猜想:任一 ...
- traceroute命令初探
一.学习目标 了解traceroute基本概念 了解traceroute工作原理及详细过程 熟悉traceroute常用命令 一些注意点 二.traceroute基本概念 traceroute (Wi ...
- A Network-based End-to-End Trainable Task-oriented Dialogue System
abstract 让机器去和人类自然的交谈是具有挑战性的.最近的任务型对话系统需要创造几个部分并且通常这需要大量的人工干预,或者需要标注数据去解决各部分训练的问题.在这里我们提出了一种端到端的任务型对 ...
- dos脚本2
一.简单批处理内部命令简介 1.Echo 命令 打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当 前回显设置. 语法 echo [{on off}] [mess ...
- aps.net国际化本地资源 .resources”正确嵌入或链接到程序集
asp.net国际化提供了资源文件的解决的方式, asp.net自带的两个项目文件夹 分别是:App_GlobalResources和App_LocalResources, App_GlobalRes ...
- sklearn.preprocessing.LabelBinarizer
sklearn.preprocessing.LabelBinarizer
- cocos2dx为Sprite添加触摸事件监听器
1.首先头文件定义事件处理的函数原型 private: bool onTouchBegan(Touch* tTouch,Event* eEvent);//手指按下事件 void onTouchMove ...
- 【转】matlab学习(5) 读取excel文件
转自:https://blog.csdn.net/thy19988/article/details/78489623 1.使用函数xlsread读取单个文件(1)num=xlsread(filenam ...