一个好的产品,一定会注重每个细节,追求极致体验。而作为一个互联网移动开发者,在开发产品时也应尽量做到如此。
此处省略一万字…
我去,扯远了,请不要在意这些细节。
回到正题,开发久了,总会有各种“偷懒”的想法,在同样的代码写了无数遍后,你会习惯封装。
如:在父类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"是一个展示如何使用Core Animation框架创建一个图片左右摆动效果的示例。Core Animation是Apple为iOS和macOS平台提供的一个低级动画系统,它允许开发者以高性能的方式创建丰富的视觉效果...
Android Wear API为开发者提供了丰富的功能,包括与硬件交互、显示自定义表盘等。在这个项目中,开发者需要利用API来控制表盘指针的动画,使得指针能够根据输入数据正负值进行左右移动,这涉及到了Android的动画系统...
本文将深入探讨如何在Android平台上创建一个手机摇晃摆动效果。 首先,我们需要了解的是Android传感器(Sensor)系统。Android系统提供了SensorManager服务,用于管理设备上的各种传感器,例如加速度计,陀螺仪等。...
"View摆动效果"是一个Android开发中的视觉特效话题,它涉及到如何通过编程方式为界面元素添加动态、吸引人的展示效果。在Android应用中,ListView是一种常见的控件,用于展示可滚动的列表数据。当我们谈论“View摆动...
通过css3 的 animation + @keyframes + transform:rotate 实现仿拼多多红包摆动效果
标题中的“切屏效果,摆动,平滑效果”指的是在软件或应用程序中实现的界面切换、动画过渡以及用户体验优化的技术。这些效果通常用于提升用户的交互体验,使操作过程更加流畅自然。在移动设备和桌面应用中,这些视觉...
本文将详细介绍如何在微信小程序中实现图片左右摆动的动画效果。需要注意的是,小程序的动画实现与传统的CSS3动画有所不同,微信小程序主要通过JavaScript来控制动画,而非传统的CSS。 首先,需要了解微信小程序的...
在Android开发中,图片旋转和摆动动效是常见的用户界面增强技巧,可以提升应用的交互体验。本文将深入探讨如何使用`android.graphics.Matrix`类和Java代码在Android平台上实现这些效果。 首先,`android.graphics....
总的来说,这个开源项目展示了如何在Android平台上利用动画和自定义视图技术来创建逼真的天气背景效果,为开发者提供了一个学习和参考的宝贵资源。通过对源码的研究,开发者可以深入理解Android动画机制,提高自己的...
在动画窗格中,设置动画效果为30度(或其他适当的摆动角度),并确保勾选“自动翻转”,这样小球才能在两端来回摆动,而不会单向移动。 9. **设置摆动参数**:根据需要调整动画的持续时间和摆动次数,确保摆动速度...
在Android开发中,动画效果是提升用户体验的关键因素之一。这个压缩包文件“安卓动画效果相关-这是一个天平效果的自定义控件实现了天平的摆动动画.rar”显然是一个专门针对Android平台的自定义控件项目,其核心在于...
"jQuery摆动效果"是指使用jQuery库实现的一种动态视觉效果,这种效果可以使元素在页面上模拟真实的物理摆动,为用户体验增添趣味性和互动性。在网页设计中,摆动效果通常用于按钮点击、提示信息显示或导航菜单等场景...
在CSS3的世界里,动画效果为网页设计增添了丰富的动态元素,使得用户体验更加生动有趣。本教程将深入探讨如何实现“css3猫挂在线球上左右摇摆动画特效”,这是一个利用CSS3的强大功能来创建的互动性动画效果。 首先...
在这个"jQuery图片跟随鼠标左右摆动"的示例中,我们将探讨如何利用jQuery实现一个有趣的用户交互效果:让图片根据鼠标的移动在页面上左右摆动。 首先,我们需要在HTML文件中设置基本的结构,包括引入jQuery库和定义...
在Android平台上,开发一款名为"黄金矿工"的游戏,其核心逻辑源码是理解游戏运行机制的关键。这个项目主要涉及到Android应用开发、图形绘制、触摸事件处理以及游戏循环等技术。下面将对这些知识点进行详细阐述。 ...
在Android开发中,动画是提升用户体验的关键因素之一。"personwalk动画效果"通常是指在应用程序中创建一个人物行走的动画,这种效果可以用于游戏、应用导航或其他互动元素。本篇文章将详细探讨如何在Android中实现...
你还可以根据需要调整动画的时长、旋转的最大角度以及是否添加缓动效果(如使用不同的Interpolator)。 为了使动画看起来更加自然,可能还需要考虑重力的影响。这可以通过在动画中添加额外的减速效果来实现,或者在...
例如,可以监听用户的鼠标事件,当鼠标悬停在文字上时,加快摆动速度,移开时则恢复原速。此外,`requestAnimationFrame`方法常用于创建流畅的动画效果,因为它会在浏览器下一次重绘之前执行,确保动画的平滑性。 ...