Android应用TranslateAnimation移动之后,利用视图的setLayoutPara
而我们采用Animation.AnimationListener,在onAnimationEnd的方法中改变当前视图利用LayoutParams的setMargins方法重新定位位置。
代码段,仅供参考。
- public void move() {
- jqkjScroll.setEnabled(true);
- Animation mTranslateAnimation = new TranslateAnimation(, , ,
- -showheight);// 移动
- mTranslateAnimation.setDuration(minute);
- // mAnimationSet.setFillAfter(true);
- // mTranslateAnimation.setFillAfter(true);
- mTranslateAnimation
- .setAnimationListener(new Animation.AnimationListener() {
- public void onAnimationStart(Animation animation) {
- if (isNoMenu == false) {
- curent.setVisibility(View.GONE);
- }
- }
- public void onAnimationEnd(Animation animation) {
- RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
- contentLayout.getLayoutParams());
- contentImg.setImageResource(R.drawable.open);
- params.setMargins(, endY - startY, , );
- contentLayout.clearAnimation();
- contentLayout.setLayoutParams(params);
- jqkjScroll.scrollTo(, );
- isMoveORShowing = false;
- }
- public void onAnimationRepeat(Animation animation) {
- }
- });
- contentLayout.startAnimation(mTranslateAnimation);
- }
- public void show() {
- jqkjScroll.setEnabled(false);
- Animation mTranslateAnimation = new TranslateAnimation(, , ,
- showheight);// 移动
- mTranslateAnimation.setDuration(minute);
- mTranslateAnimation
- .setAnimationListener(new Animation.AnimationListener() {
- public void onAnimationStart(Animation animation) {
- if (isNoMenu == false) {
- curent.setVisibility(View.VISIBLE);
- }
- }
- public void onAnimationEnd(Animation animation) {
- contentImg.setImageResource(R.drawable.close);
- isMoveORShowing = false;
- contentLayout.clearAnimation();
- RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
- contentLayout.getLayoutParams());
- params.setMargins(, showheight + endY - startY, , );
- contentLayout.setLayoutParams(params);
- }
- public void onAnimationRepeat(Animation animation) {
- }
- });
- contentLayout.startAnimation(mTranslateAnimation);
- }
Android应用TranslateAnimation移动之后,利用视图的setLayoutPara的更多相关文章
- [转]Android中Xposed框架篇—利用Xposed框架实现拦截系统方法
一.前言 关于Xposed框架相信大家应该不陌生了,他是Android中Hook技术的一个著名的框架,还有一个框架是CydiaSubstrate,但是这个框架是收费的,而且个人觉得不怎么好用,而Xpo ...
- Android应用开发学习之表格视图
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 本文我们来学习一个使用表格视图的程序,下图是该程序的运行效果: 该程序主Activity文件内容如下: packag ...
- Android View体系(一)视图坐标系
前言 Android View体系是界面编程的核心,他的重要性不亚于Android四大组件,在这个系列中我会陆续讲到View坐标系.View的滑动.View的事件分发等文章来逐步介绍Android V ...
- Android分组子级的不同视图布局之BUG奇遇记
Android分组子级的不同视图布局之BUG奇遇记 最近在使用按日期分类列表,二级条目可能不一样,于是就想到了ExpandableListView. ExpandableListView的布局显示分割 ...
- oracle 创建视图、修改视图、删除视图、利用视图操作基本表
转:http://blog.sina.com.cn/s/blog_6b58d2fa0100rgvw.html 1.使用create or replace view命令创建视图 语法格式: create ...
- Android使用Mono c#分段列表视图
下载source code - 21.7 KB 你想知道如何把多个ListView控件放到一个布局中,但是让它们在显示时表现正确吗 多个列表项?你对它们正确滚动有问题吗?这个例子将向你展示如何组合单独 ...
- Android学习笔记(九) 视图的应用布局效果
最近少了写博客,可能最近忙吧,工作上忙,因为工作原因也忙于学习,也没记录什么了,也没有按照之前的计划去学习了.现在就记录一下最近学到的. 要做Android应用,界面设计少不了,可惜之前一直在用Win ...
- 【Android】9.3 自定义列表视图的外观
分类:C#.Android.VS2015: 创建日期:2016-02-18 一.简介 自定义的列表视图通常用Resources/Layout文件夹下的axml文件中的资源来声明,适配器则通过Id去加载 ...
- android AppWidget的使用以及利用TimerTask实现widget的定时更新
第一步:首先是Widget的定义声明: 在资源文件下的xml目录中建立文件example_appwidget_info.xml: <?xml version="1.0" en ...
随机推荐
- 【C++】类的两种实例化方法
直接上代码: #include<stdio.h> #include<string> #include<iostream> using namespace std; ...
- Access转Sqlite的最简单的方法(不需要DB Manager)
在网上查了很多方法,大部分都是需要DB Manager,但是DB Manager这个牛逼保护机制做得好,没有免费的注册码可用.还好下面有另一个办法实现Access转Sqlite: 首先要下载SQLit ...
- 关于GIT的一些注意点
往空仓库提交代码之前先将文档区的_gitignore放到项目根目录然后改名成.gitignore然后git add .gitignore以上的目的是忽略一些不应该提交GIT的文件,多人编辑工程的时候不 ...
- Mac Screen Capture Shortcuts
Here's How: To capture the entire desktop, press Command-Shift-3. The screen shot will be automati ...
- 使用UNetbootin工具制作的CentOS 6.9镜像U盘在启动安装过程中出现:unable to read package metadata.this may be due to a missing repodata directory
1.制作: 2.重命名文件 (前) (后) 这些文件是拷贝另一个得来的,并且后面的命名是根据repomd.xm这个文件来的. 参考: http://blog.csdn.net/maijunjin/ar ...
- 使用DMV调优性能 --Burgess_Liu
http://blog.csdn.net/burgess_liu/article/details/52813727
- Inno Setup入门(一)——最简单的安装脚本
地址:http://379910987.blog.163.com/blog/static/3352379720110238252326/ 一个最简单的安装脚本: 1.最简单的安装文件脚本: [setu ...
- MORMOT数据库连接池
MORMOT数据库连接池 MORMOT封装了一堆的PROPS控件,用于连接各种数据库. MORMOT的封装是武装到了牙齿的,这堆PROPS控件居然数据库连接池也封装好了.这就为我们省了不少事,笔者非常 ...
- Android 中 Environment.getExternalStorageDirectory()无效
我们在处理缓存的时候,并不是每次都会在应用私有存储空间那里保存,很多时候是需要用到ExternalStorage.我们平时一般都是用Environment.getExternalStorageDire ...
- javascript快速入门20--Cookie
Cookie 基础知识 我们已经知道,在 document 对象中有一个 cookie 属性.但是 Cookie 又是什么?“某些 Web 站点在您的硬盘上用很小的文本文件存储了一些信息,这些文件就称 ...