`
jenly
  • 浏览: 18184 次
文章分类
社区版块
存档分类
最新评论

Android之检测文本内容是否为空时左右摆动效果

 
阅读更多

一个好的产品,一定会注重每个细节,追求极致体验。而作为一个互联网移动开发者,在开发产品时也应尽量做到如此。

此处省略一万字…

我去,扯远了,请不要在意这些细节。

回到正题,开发久了,总会有各种“偷懒”的想法,在同样的代码写了无数遍后,你会习惯封装。

如:在父类BaseActivity或BaseFragment里面写一些经常用到的Toast,Dialog,Popupwindow这些提示类的控件,做一个封装,供子类方便调用,这里只是抛了一块砖,后续有时间,会慢慢整理一部份发出来。

示例:在父类写个通用的Toast

	
	private Context context = this;
	private Toast toast;
	/**
	 * Toast弹出框
	 * @param msg
	 */
	protected void showToast(int resId){
		showToast(getString(resId),Toast.LENGTH_SHORT);
	}
	protected void showToast(String msg){
		showToast(msg,Toast.LENGTH_SHORT);
	}

	protected void showToast(String msg,int duration){
		showToast(context,msg,duration);
	}

	protected void showToast(Context context,String msg){
		showToast(context, msg, Toast.LENGTH_SHORT);;
	}

	protected void showToast(Context context,String msg,int duration){
		if(toast!=null){//防止重复显示
			toast.cancel();			
		}
		toast = Toast.makeText(context, msg, duration);
		toast.show();
	}
	


下面到了今天的主题,检测文本输入为空时摆动效果与Toast提示

直接上代码:

	
	public static final int NONE_ID = -1;
	
	/**
	 * 检测文本视图是否有输入内容
	 * @param v
	 * @return
	 */
	protected boolean checkInput(TextView v){
		return checkInput(v, NONE_ID, false);
	}
	
	protected boolean checkInput(TextView v,int msgId){
		return checkInput(v, msgId, false);
	}
	
	protected boolean checkInput(TextView v,boolean isShake){
		return checkInput(v, NONE_ID, isShake);
	}
	
	/**
	 * 检测文本视图是否有输入内容
	 * @param v
	 * @param msgId 	当msgID!=NONE_ID时 则showToast
	 * @param isShake 	是否摆动
	 * @return
	 */
	protected boolean checkInput(TextView v,int msgId,boolean isShake){
		if(StringUtils.isBlank(v.getText().toString())){
			if(isShake){
				startShake(v, msgId);
			}else{
				if(msgId!=NONE_ID){
					showToast(msgId);
				}
			}
			return false;
		}
		
		return true;
	}
	
	/**
	 * 开始摆动(左右摆动效果)
	 * @param v
	 */
	protected void startShake(View v){
		startShake(v, NONE_ID);
	}
	
	/**
	 * 开始摆动(左右摆动效果)
	 * @param v
	 * @param msgId 	当msgID!=NONE_ID时 则showToast
	 */
	protected void startShake(View v,int msgId){
		Animation animation = AnimationUtils.loadAnimation(context, R.anim.shake);
		v.startAnimation(animation);
		if(msgId!=NONE_ID){
			showToast(msgId);
		}
	}
	

shake.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:fromXDelta="0"
    android:interpolator="@anim/cycle_interpolator"
    android:toXDelta="10" />


cycle_interpolator.xml

<?xml version="1.0" encoding="utf-8"?>
<cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
    android:cycles="3" />




分享到:
评论

相关推荐

    IOS核心动画-左右摆动Demo

    "IOS核心动画-左右摆动Demo"是一个展示如何使用Core Animation框架创建一个图片左右摆动效果的示例。Core Animation是Apple为iOS和macOS平台提供的一个低级动画系统,它允许开发者以高性能的方式创建丰富的视觉效果...

    android studio watch 双向摆动设计

    Android Wear API为开发者提供了丰富的功能,包括与硬件交互、显示自定义表盘等。在这个项目中,开发者需要利用API来控制表盘指针的动画,使得指针能够根据输入数据正负值进行左右移动,这涉及到了Android的动画系统...

    android 实现手机摇晃摆动效果

    本文将深入探讨如何在Android平台上创建一个手机摇晃摆动效果。 首先,我们需要了解的是Android传感器(Sensor)系统。Android系统提供了SensorManager服务,用于管理设备上的各种传感器,例如加速度计,陀螺仪等。...

    View摆动效果

    "View摆动效果"是一个Android开发中的视觉特效话题,它涉及到如何通过编程方式为界面元素添加动态、吸引人的展示效果。在Android应用中,ListView是一种常见的控件,用于展示可滚动的列表数据。当我们谈论“View摆动...

    仿拼多多电商红包摆动效果

    通过css3 的 animation + @keyframes + transform:rotate 实现仿拼多多红包摆动效果

    切屏效果,摆动,平滑效果

    标题中的“切屏效果,摆动,平滑效果”指的是在软件或应用程序中实现的界面切换、动画过渡以及用户体验优化的技术。这些效果通常用于提升用户的交互体验,使操作过程更加流畅自然。在移动设备和桌面应用中,这些视觉...

    微信小程序图片左右摆动效果详解

    本文将详细介绍如何在微信小程序中实现图片左右摆动的动画效果。需要注意的是,小程序的动画实现与传统的CSS3动画有所不同,微信小程序主要通过JavaScript来控制动画,而非传统的CSS。 首先,需要了解微信小程序的...

    安卓图片旋转,摆动动效

    在Android开发中,图片旋转和摆动动效是常见的用户界面增强技巧,可以提升应用的交互体验。本文将深入探讨如何使用`android.graphics.Matrix`类和Java代码在Android平台上实现这些效果。 首先,`android.graphics....

    android高仿墨迹天气背景动画效果-云,风,雪等效果源码.zip

    总的来说,这个开源项目展示了如何在Android平台上利用动画和自定义视图技术来创建逼真的天气背景效果,为开发者提供了一个学习和参考的宝贵资源。通过对源码的研究,开发者可以深入理解Android动画机制,提高自己的...

    如何利用PowerPoint模板制作小球摆动效果.docx

    在动画窗格中,设置动画效果为30度(或其他适当的摆动角度),并确保勾选“自动翻转”,这样小球才能在两端来回摆动,而不会单向移动。 9. **设置摆动参数**:根据需要调整动画的持续时间和摆动次数,确保摆动速度...

    安卓动画效果相关-这是一个天平效果的自定义控件实现了天平的摆动动画.rar

    在Android开发中,动画效果是提升用户体验的关键因素之一。这个压缩包文件“安卓动画效果相关-这是一个天平效果的自定义控件实现了天平的摆动动画.rar”显然是一个专门针对Android平台的自定义控件项目,其核心在于...

    jquey摆动效果

    "jQuery摆动效果"是指使用jQuery库实现的一种动态视觉效果,这种效果可以使元素在页面上模拟真实的物理摆动,为用户体验增添趣味性和互动性。在网页设计中,摆动效果通常用于按钮点击、提示信息显示或导航菜单等场景...

    css3猫挂在线球上左右摇摆动画特效

    在CSS3的世界里,动画效果为网页设计增添了丰富的动态元素,使得用户体验更加生动有趣。本教程将深入探讨如何实现“css3猫挂在线球上左右摇摆动画特效”,这是一个利用CSS3的强大功能来创建的互动性动画效果。 首先...

    jQuery图片跟随鼠标左右摆动.zip

    在这个"jQuery图片跟随鼠标左右摆动"的示例中,我们将探讨如何利用jQuery实现一个有趣的用户交互效果:让图片根据鼠标的移动在页面上左右摆动。 首先,我们需要在HTML文件中设置基本的结构,包括引入jQuery库和定义...

    android黄金矿工核心逻辑源码

    在Android平台上,开发一款名为"黄金矿工"的游戏,其核心逻辑源码是理解游戏运行机制的关键。这个项目主要涉及到Android应用开发、图形绘制、触摸事件处理以及游戏循环等技术。下面将对这些知识点进行详细阐述。 ...

    android程序 实现personwalk动画效果

    在Android开发中,动画是提升用户体验的关键因素之一。"personwalk动画效果"通常是指在应用程序中创建一个人物行走的动画,这种效果可以用于游戏、应用导航或其他互动元素。本篇文章将详细探讨如何在Android中实现...

    用于演示钟摆、秋千晃荡等左右摇摆的动画效果

    你还可以根据需要调整动画的时长、旋转的最大角度以及是否添加缓动效果(如使用不同的Interpolator)。 为了使动画看起来更加自然,可能还需要考虑重力的影响。这可以通过在动画中添加额外的减速效果来实现,或者在...

    HTML5摆动的文字特效 类似柳枝摆动.rar.rar

    例如,可以监听用户的鼠标事件,当鼠标悬停在文字上时,加快摆动速度,移开时则恢复原速。此外,`requestAnimationFrame`方法常用于创建流畅的动画效果,因为它会在浏览器下一次重绘之前执行,确保动画的平滑性。 ...

Global site tag (gtag.js) - Google Analytics