多种方式实现滑动p91--105
1.layout方法
2.offsetLeftAndRight()与offsetTopAndBottom()方法
3.LayoutParams(前提是要有父布局,根据父布局的类型决定LayoutParams的类型),设置leftMargin和topMargin属性,当然也可以直接使用ViewGroup.MarginLayoutParams
4.scrollTo和scrollBy,前者代表移动到最标点(x,y),后者表示移动的增量(dx,dy),但是这个移动的是view的content
5.Scroller,这个可以实现平滑效果,不像srcoolTo和scrollBy那样突兀,实际上也是使用了scrollTo方法,通过重写computeScroll()方法进行重绘,最后stascroll方法即可
scroller = new Scroller(context);
/**
* 重写这个方法是Scroller使用的核心,系统的draw()方法中调用改方法
*/
@Override
public void computeScroll() {
super.computeScroll();
/**
* 下面可作为模板
*/
//判断Scroller是否执行完毕
if (scroller.computeScrollOffset()) {
((View) getParent()).scrollTo(scroller.getCurrX()//获得当前滑动坐标
, scroller.getCurrY());
//通过重绘来不断调用computeScroll,computeScroll()不会自动调用,只能通过invalidate()方法
//invalidate()-->draw()-->computeScroll()
invalidate();
}
}
6.属性动画
7.ViewDragHelper,google在support库里面提供的DrawerLayout和SlidingPaneLayout两个布局来实现侧滑,里面就是使用的ViewDragHelper
多种方式实现滑动p91--105的更多相关文章
- idea打包jar的多种方式
这里总结出用IDEA打包jar包的多种方式,以后的项目打包Jar包可以参考如下形式: 用IDEA自带的打包形式 用Maven插件maven-shade-plugin打包 用Maven插件maven-a ...
- Java中测试异常的多种方式
使用JUnit来测试Java代码中的异常有很多种方式,你知道几种? 给定这样一个class. Person.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
- Spring学习总结(一)——Spring实现IoC的多种方式
控制反转IoC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现IoC的一种方法,也有人认为DI只是IoC的另一种说法.没有IoC的程序中我们使用面向对象编程对象的创 ...
- PDO多种方式取得查询结果
PDO多种方式取得查询结果 01 December 2009 1:26 Tuesday by Sjolzy PDO最大的特点之一是它的灵活性,本节将介绍如何取得查询结果,包括: 数组(数值或关联数组) ...
- java 获取classpath下文件多种方式
java 获取classpath下文件多种方式 一:properties下配置 在resources下定义server.properties register.jks.path=classpath\: ...
- IOC和AOP使用扩展 多种方式实现依赖注入
多种方式实现依赖注入 1.Spring 使用setter访问器实现对属性的赋值, 2.Spring 构造constructor方法赋值, 3.接口注入 4.Spring P命名空间注入直接量 sett ...
- sql语句分页多种方式ROW_NUMBER()OVER
sql语句分页多种方式ROW_NUMBER()OVER 摘自: http://www.cnblogs.com/CodingArt/articles/1692468.html 方式一 select to ...
- JavaScript中判断为整数的多种方式
之前记录过JavaScript中判断为数字类型的多种方式,这篇看看如何判断为整数类型(Integer). JavaScript中不区分整数和浮点数,所有数字内部都采用64位浮点格式表示,和Java的d ...
- 使用多种方式实现遍历HashMap
今天讲解的主要是使用多种方式来实现遍历HashMap取出Key和value,首先在java中如果想让一个集合能够用for增强来实现迭代,那么此接口或类必须实现Iterable接口,那么Iterable ...
随机推荐
- 0503-Hystrix保护应用-feign的hystrix支持
一.概述 1.1.基础[示例一] 如果Hystrix在类路径上并且feign.hystrix.enabled = true,Feign将用断路器包装所有方法.还可以返回com.netflix.hyst ...
- 系统间接口联调总是报500 for URL 和 乱码
两个系统做数据传输时,懒省事,直接访问 action 方式.结果总是报500,或者fileNotFount. 究其原因是因为两边的数据格式没对应上.post请求返回的格式是String,数据提供方返回 ...
- maven依赖排除、顺序原则、版本统一管理
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-core& ...
- POJ - 1904 King's Quest (强连通)
题意:有N个王子,每个王子有任意个喜欢的妹子,巫师会给出一个方案:每个妹子都嫁给一个王子.但是国王希望知道:每个王子能在哪些妹子中择偶而不影响其他王子择偶. 分析:设王子为x部,妹子为y部,假设有匹配 ...
- datagrid 编辑
spark:DataGrid编辑状态进入需要在选中一行高亮状态之后,再次点击该单元格,这样,相信非常符合开发人员的控制手法及大众使用习惯,这,是一点非常好的改良. 同时,它取缔了itemEditEnd ...
- 【Head First Servlets and JSP】笔记 25:JSTL 参考
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ t ...
- 【c++习题】【17/4/16】动态分配内存
#include<iostream> #include<cstring> #define N 100 using namespace std; class String{ pu ...
- Sybase:循环调用存储过程
Sybase:循环调用存储过程 一.日期循环 declare @c_count int declare @rq int --获取两个日期之间的天数 ,getdate()) begin ,),),),) ...
- 基于HTML5和SVG的手机菜单动画
在线演示 本地下载
- JAVA基础补漏--继承
子类的对象在创建时,首先调用父类的构造函数,再调用子类自己的构造函数. 子类的构造函数中,有一个默认的super(),为一个无参调用,这个不显示,但会被首先调用,所有才会有父类构造函数被调用的情况. ...