ImageSwitcher is;
...
is.setInAnimation(this, android.R.anim.slide_in_left);
is.setOutAnimation(this, android.R.anim.slide_out_right);

上面实现了从左向右滑动的效果,可是反过来,从右向左滑动怎么实现呢?

默认情况下 android.R.anim.slide_in_right 和 android.R.anim.slide_out_left是私有的,也就是说通过.属性是找不到的.

解决办法:slide_in_right和slide_out_left这两个xml都可以在sdk里找到的,修改后作为自己的资源调用就好了

platforms\android-10\data\res\anim\下找到下面两个xml文件.

slide_in_right

slide_out_left

最后放到项目 res->anim下面

imgSwitcher.setOnTouchListener(new OnTouchListener() {

            @Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub if (event.getAction() == MotionEvent.ACTION_DOWN) { downX = (int) event.getX(); // 取得按下时的坐标 Log.i("event.getX()", " downX " + downX);
return true;
} else if (event.getAction() == MotionEvent.ACTION_UP) { upX = (int) event.getX(); // 取得松开时的坐标 Log.i("event.getX()", " upX " + downX); // 从左拖到右,即看前一张
if (upX - downX > 100) { imgSwitcher.setInAnimation(AnimationUtils
.loadAnimation(firstActivity.this,
android.R.anim.slide_in_left));
imgSwitcher.setOutAnimation(AnimationUtils
.loadAnimation(firstActivity.this,
android.R.anim.slide_out_right));
curIndex--; if (curIndex < 0) {
curIndex = 5;
} imgSwitcher.setImageResource(IMAGE_LIST[curIndex]);
firstActivity.this.switchTitle(curIndex); } else if (downX - upX > 100) { // 从右拖到左,即看后一张 imgSwitcher.setInAnimation(AnimationUtils
.loadAnimation(firstActivity.this,
R.anim.slide_out_left));
imgSwitcher.setOutAnimation(AnimationUtils
.loadAnimation(firstActivity.this,
R.anim.slide_in_right));
curIndex++;
if (curIndex > 5) {
curIndex = 0;
}
imgSwitcher.setImageResource(IMAGE_LIST[curIndex]);
firstActivity.this.switchTitle(curIndex);
}
return true;
}
return false;
}
});

ImageSwitcher 右向左滑动的实现方式的更多相关文章

  1. thiscall仅仅应用于“C++”成员函数(this指针存放于CX寄存器,参数从右到左压)

    _stdcall是Pascal程序的缺省调用方式,通常用于Win32 Api中,函数采用从右到左的压栈方式,自己在退出时清空堆栈.VC将函数编译后会在函数名前面加上下划线前缀,在函数名后加上" ...

  2. 自定义UITableViewCell实现左滑动多菜单功能LeftSwipe

    今天愚人节,小伙们,愚人节快乐! 实现一个小功能,滑动菜单,显示隐藏的功能菜单, 先上图:                       这里尝试用了下使用三个方式来实现了这个功能: 1.使用自定义UI ...

  3. 一个Android上的以滑动揭示的方式显示并切换图片的View

    SlideView是一个Android上的以滑动揭示的方式显示并切换图片的View,以视觉对比的方式把一套相似的图片展示出来. 示例 翻页图片揭示效果: 特性 设置一组(List<ImageIn ...

  4. [android]如何使LinearLayout布局从右向左水平排列,而不是从左向右排列

    方法1: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:l ...

  5. css选择器选择顺序是从右往左的,为什么?

    https://segmentfault.com/q/1010000000713509 为什么 CSS 选择器解析的时候是从右往左? CSS 的后代选择器本身就是一种在标准里面不那么推荐的方式. 首先 ...

  6. Android 4.2原生支持从右到左的文字排列格式

    Android 4.1(Jelly Bean)  在TextView和EditText 元素里对“双向文字顺序”提供了有限的功能支持,允许应用程序在编辑和显示字符的时候,能够同时支持从左到右(LTR) ...

  7. ios 仿新浪微博 UINavigationController 向左滑动时显示上一个控制器的View.

    仿新浪微博 UINavigationController 向左滑动时显示上一个控制器的View. 实现原理,UINavigationController 的 self.view显示时把当前显示的vie ...

  8. js移动端向左滑动出现删除按钮

    最近在做移动端项目时,需要实现一个列表页面的每一项item向左滑动时出现相应的删除按钮,本来想着直接使用zepto的touch.js插件,因为之前实现相同的功能时用过这个插件,当时还挺好用的,直接使用 ...

  9. Ueditor增加文字竖排显示和从右向左输入(支持蒙古文和维吾尔文)

    平时我们在ueditor中都是输入的中文,排版都是从左向右输入.但是当输入一些少数民民族言时,ueditor却不能正常显示. 例如蒙古文字,传统蒙文是竖排书写.如下图:传统蒙古文排文方式,<蒙古 ...

随机推荐

  1. 使用Visual Studio发布应用安装包

    安装包制作方式 使用Visual Studio进行应用的打包分发有两种方式: 1.使用Clickonce发布安装包: 2.使用Setup工程发布安装包. 操作步骤 Clickonce发布安装包 1.右 ...

  2. 第3章 Struts2框架--2、完整的Struts2框架应用实例

    1.建立一个Dynamic Web project,项目名:UserManager,把Struts2所必需的JAR复制到项目WEB-INF/lib目录下 2.修改web.xml文件,在web.xml文 ...

  3. 静态库的pdb

    静态库也会有pdb,只不过,默认是以vc编译器作为名字,比如vs2003的lib的pdb是vc70.pdb,vs2008则是vc90.pdb

  4. ZeroBrane Lua脚本编辑器代码自动补全

    简介         ZeroBrane Studio是一款支持代码提示.语法高亮.远程调试.代码分析.调试等功能的轻量级Lua IDE工具.可以去官网studio.zerobrane.com进行下载 ...

  5. Range Minimum Query and Lowest Common Ancestor

    作者:danielp 出处:http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=lowestCommonAnc ...

  6. Python使用re实现计算器

    re 正则表达式 计算器 海瑞博客-学习python之路•2016-12-01•Python• 59•0•A+ A- re是一门小型语言 元字符 .      通配符除了\n ^     以什么开始的 ...

  7. STM32系统时钟

    一.时钟树 STM32有4个时钟源: 1)HSE(高速外部时钟源) 外部晶振作为时钟源,范围为4~16MHz,常取为8MHz 2)HSI(高速内部时钟源) 由内部RC振荡器产生,频率为8MHz,但不稳 ...

  8. C# 两时间,时间间隔

    #region 返回时间差        public static string DateDiff(DateTime DateTime1, DateTime DateTime2)        {  ...

  9. PADS故障解决

    1. 点击PADS后就会出现以下: "The directory pointed by the FileDir INI file entry cannot be found.Aborting ...

  10. String的一些细节

    String 常量池问题 (1) 字符串常量的"+"号连接,在编译期字符串常量的值就确定下来, 拿"a" + 1来说,编译器优化后在class中就已经是a1. ...