Android中通过ViewHelper.setTranslationY实现View移动控制(NineOldAndroids开源项目)
我们知道有不少开源project,能实现非常多不错的效果。前几天,我看了一个效果,刚好项目中也用到了这个jar包。
没事挖一挖 学一学(一说到挖一挖。那么问题来了。挖掘机技术究竟哪家强
),看看不错的效果怎么实现的呢?函数的详细意义有是什么呢?非常多效果,我们不须要又一次造轮子,仅仅须要装配轮子。开车走起就能够了。你没有那么多时间造轮子,我们能够选择自己喜欢的轮子,开我们的兰博基尼。开我们的保时捷概念车。开起来!
先看一下效果吧。挖自开源项目中的(NineOldAndroids开源项目)
不废话。我们解释下相关函数。
private View header_logo;
private float moveDistanceY = 25;// logo初始移动距离为10
private float moveDistanceX = 25;// logo初始移动距离为10 @Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_moveDown :
moveDistanceY += 20;
ViewHelper.setTranslationY(header_logo, moveDistanceY);
break; case R.id.btn_moveUp :
moveDistanceY -= 20;
ViewHelper.setTranslationY(header_logo, moveDistanceY);
break; case R.id.btn_moveLeft :
moveDistanceX -= 20;
ViewHelper.setTranslationX(header_logo, moveDistanceX);
break; case R.id.btn_moveRight :
moveDistanceX += 20;
ViewHelper.setTranslationX(header_logo, moveDistanceX);
break; default :
break;
}
}
关于 ViewHelper.setTranslationY(view,float)函数的解释。这里的view 是您要移动哪个View 就是哪个东西你要将他在界面上进行活动呢? float是指你移动的距离 ,(假定參考坐标 最開始的位置中心位置为0)。那么ViewHelper.setTranslationY(view,100)就是把view向下(比最原始的位置)移动100。那么120那 130那 140 150呢
就是比最原始的位置多10、多20、多30、多40。。
。。所以ViewHelper.setTranslationX 还是ViewHelper.setTranslationY都能够实现了。
还是上源码吧。要不你们看不到效果是不是要骂我了。嘎嘎。
要用到ViewHelper。须要引用jar包。
开源project的jar包
本project源代码下载地址 :猛击这里,以后保证 每周必须更新一篇最新的技术文章。每天要努力 挖掘技术点(不是开挖掘机,开挖掘机还是去蓝翔开去)。
要不,你们以为我这么长时间都不出气。是不是挂了?还是被车撞了。趟医院起不来了。
。
。。。

Android中通过ViewHelper.setTranslationY实现View移动控制(NineOldAndroids开源项目)的更多相关文章
- Android进阶笔记08:Android 中Activity、Window和View之间的关系
1. Android 中Activity.Window和View之间的关系(比喻): Activity像一个工匠(控制单元),Window像窗户(承载模型),View像窗花(显示视图) LayoutI ...
- android开发中在界面上实现曲线图的几个开源项目
转自:https://wapiknow.baidu.com/question/1959128379041474620?qq-pf-to=pcqq.c2c 几个相关开源项目: 1. MPAndroid ...
- android两种基本联网方式与一种第三方开源项目的使用
安卓请求网络的三种方式 在请求网络的时候一般常用的提交方式是post或者get请求,post请求安全,传输大小无限制,但是代码量多些,get请求是浏览器有大小限制,用户提交的信息在浏览器的地址栏显示出 ...
- 快速开发android,离不开这10个优秀的开源项目
作为一名菜鸡Android,时常瞻仰大佬们的开源项目是非常必要的.这里我为大家收集整理了10个优秀的开源项目,方便我们日常开发中学习! 作者:ListenToCode博客:https://www.ji ...
- Android 中状态栏、标题栏、View的大小及区分
1.获得状态栏的高度(状态栏相对Window的位置): Rect frame = new Rect(); getWindow().getDecorView().getWindowVisibleDisp ...
- Android中View转换为Bitmap及getDrawingCache=null的解决方法
1.前言 Android中经常会遇到把View转换为Bitmap的情形,比如,对整个屏幕视图进行截屏并生成图片:Coverflow中需要把一页一 页的view转换为Bitmap.以便实现复杂的图形效果 ...
- Android中的Touch事件
Android中的Touch事件处理 主要内容 Activity或View类的onTouchEvent()回调函数会接收到touch事件. 一个完整的手势是从ACTION_DOWN开始,到ACTION ...
- Android中EditText显示明文与密文的两种方式
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 记录输入框显示.隐藏密码的简单布局以及实现方式. 效果图 代码分析 方式一 /**方式一:*/ private void sh ...
- android中使用jni对字符串加解密实现分析
android中使用jni对字符串加解密实现分析 近期项目有个需求.就是要对用户的敏感信息进行加密处理,比方用户的账户password,手机号等私密信息.在java中,就对字符串的加解密我们能够使用A ...
随机推荐
- 关于工作,学习中定时备份的几个方法(cron,git,mail)
首先介绍一下cron这个定时备份的工具: crontab -e : 运行文字编辑器来设定时程表,内定的文字编辑器是 VI.假设你想用别的文字编辑器.则请先设定 VISUAL 环境变数来指定使用那个文字 ...
- 每天自己主动备份mysql脚本
定时运行脚本: 1.运行 crontab -e 00 00 * * * /bin/bash yourpath/mysqlbak.sh 2.打开自己主动运行文件 vi /etc/crontab 在etc ...
- MongoDB初探系列之四:MongoDB与Java共舞
因为版本号不同,可能API也有所不同.本次学习用的是3.0版本号. 1.使用的mongodb的jdbc驱动版本号为:mongo-java-driver-3.0.0.jar 2.本节仅仅是简介JDBC操 ...
- NAS配置Time Machine,在D-Link DNS-320上的配置笔记
今天打算把Time Machine备份的工作交给NAS,曾经是放在一块外置硬盘上的,尽管速度要比NAS快,可是每次插拔外接都有些麻烦.而NAS又具有实时在线.定时关机启动的功能.配合Time Mach ...
- 引入jquery.js和jquery-1.10.2.min.js 发生冲突解决办法
<html><head></head><body><body><div id = "a">a</div ...
- 完整注册+JQuery验证+selert后台校验
Java代码 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8 ...
- BZOJ 2120 带修莫队
思路: 暴力能过的 嘿嘿嘿 我是来练带修莫队的嗯 复杂度 O(n^5/3) //By SiriusRen #include <cmath> #include <cstdio> ...
- Asp.net mvc中使用配置Unity
第一步:添加unity.mvc 第二步:在添加之后会在app_start中生成UnityConfig.cs,UnityMvcActivator.cs 第三步:使用 第四步:效果展示
- 错误:java.lang.IllegalArgumentException: Receiver not registered
Caused by: java.lang.IllegalArgumentException: Receiver not registered: com.multak.cookaraclient.Mai ...
- Linux中设置vim自动在运算符号两边加上空格
vim中设置自动在=+-之类的运算符号左右两边加上空格.原版的vim不带这个功能,写出的代码例如z=x+y,不美观,很多编译器(如VS)能够自动在符号两边加上空格,如z = x + y,看起来比较美观 ...