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 ...
随机推荐
- unity3d 中动画的帧事件
代码事件监听 using UnityEngine; using System.Collections; public class BoxEventScript : MonoBehaviour { vo ...
- xcodeproj cannot be opened because the project file cannot be parsed.
解决方法: 1.对.xcodeproj文件右键,显示包内容 2.双击打开 project.pbxproj 文件 3.找到以上类似的冲突信息(能够用commad + f搜索) 4.删除<&l ...
- C# 用ManulResetEvent 控制Thread的 Suspend、Resume
class Program { static void Main(string[] args) { Thread thread = new Thread(Work); thread.Start(); ...
- Linux 下安装 jdk-7u79-linux-x64.gz,jdk1.7.0_79,jdk1.7步骤:
1.首先下载对应CentOS版本的jdk:这里我下载的是jdk-7u79-linux-x64.tar.gz 2.上传到CentOS下的目录中 3.新建一个APP目录作为存储jdk的目录 4.解压jdk ...
- c13--数组
// // main.c // 进制查表法 // // Created by xiaomage on 15/6/10. // Copyright (c) 2015年 xiaomage. All rig ...
- Unable to access the IIS metabase
https://stackoverflow.com/questions/12859891/error-unable-to-access-the-iis-metabase 解决方法1 On Window ...
- 更改python字符编码以便使用UTF-8的编码url路径
url编码分两种, 一种是unicode, 另一种是gb2312, 今天遇到的一个网站是要将字符编码按照gb2312来编码,用来得到一个先填写blanks后再返回页面的数据,废话少说,需要做的就是先查 ...
- 双系统下Ubuntu时间不准问题
运行命令: sudo apt-get install ntpdate sudo ntpdate time.windows.com sudo hwclock --localtime --systohc ...
- ZYQAssetPickerController的使用,不错的图片选择
import UIKit class ViewController: UIViewController,ZYQAssetPickerControllerDelegate,UIImagePickerCo ...
- log4j:WARN Please initialize the log4j system properly.解决方案
在使用quarz任务调度框架时的错误,实际上这个问题很常见,并不影响程序的使用,只是缺少日志输出,完整错误信息: log4j:WARN No appenders could be found for ...