Andorid实现Toast覆盖上一个文本
2015-05-10 00:45
218 查看
音乐播放器中用户在选择播放模式时,传统的toast会一个显示完之后才会显示下一个,用户在连续的点击之后,滞后性十分严重,影响用户体验。
所以必须及时的响应用户的点击事件,于是我们想到只用一个全局Toast对象,判断toast对象,如果存在就直接更改Toast的值就好了,下面是一个简易的选择播放模式的demo,用户每次点击图片时,会切换图片,并及时用Toast显示相应模式。
实现效果如下,连续的点击下,依然能及时显示相应的文本
所以必须及时的响应用户的点击事件,于是我们想到只用一个全局Toast对象,判断toast对象,如果存在就直接更改Toast的值就好了,下面是一个简易的选择播放模式的demo,用户每次点击图片时,会切换图片,并及时用Toast显示相应模式。
public class MainActivity extends Activity { private int[] playstyle = new int[] { R.drawable.random, R.drawable.shunxu, R.drawable.single, R.drawable.xunhuan }; private String[] playtext = new String[] { "随机播放", "顺序播放", "单曲循环", "列表循环" }; private ImageView mImageView; private int mStrat = 0; private Toast mToast; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mImageView = (ImageView) findViewById(R.id.playstyle); mImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ++mStrat; switch (mStrat % 4) { case 0: mImageView.setImageResource(playstyle[0]); ShowToast( playtext[0]); break; case 1: mImageView.setImageResource(playstyle[1]); ShowToast( playtext[1]); break; case 2: mImageView.setImageResource(playstyle[2]); ShowToast( playtext[2]); break; case 3: mImageView.setImageResource(playstyle[3]); ShowToast( playtext[3]); break; default: break; } } }); } /** * 将toast封装起来,连续点击时可以覆盖上一个 */ public void ShowToast(String text){ if (mToast == null) { mToast = Toast.makeText(MainActivity.this, text, Toast.LENGTH_SHORT); mToast.show(); }else { mToast.setText(text); mToast.show(); } } }
实现效果如下,连续的点击下,依然能及时显示相应的文本
相关文章推荐
- C++实践笔记(二)----实现一个简单的文本查询程序
- 一个文本查询程序的实现
- C++实现读取整行文本和每次只读入一个单词
- 使用JS实现将GridView中的TextBox列的值博给GridView外的一个文本筐
- 原生实现一个toast组件;ul下li点击确定是哪个
- php和mysql采用utf-8编码时实现按照一个文本字段的首字母的拼音顺序进行排序的方法
- PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
- 用Java代码实现改变一个文本中的内容,即将一个文本里的内容修改内容,并存储到另一个文本中
- 一个android文本比对app的实现(四)--Hirschberg文本比对算法
- 使用CoreText实现的一个富文本显示组件
- 实现一个label中的文本有不同的文字颜色
- 03微信公众平台 - 实现【天气查询】功能函数,返回一个文本字符串。
- 。窗体上有一个文本框(多行、且带有垂直滚动条)、一个标签(字体颜色红色、字号16)、一个按钮(该按钮被单击时,实现将文本框中选择文本复制至标签。
- 懒人部署插件实现智能、可视化更新程序,让用户不用一个文件一个文件的拷贝,有效防止少、漏更新,同时实现自动备份覆盖的文件,便于随时还原
- 用JavaScript实现用一个DIV来包装文本元素节点
- 如何简单的实现一个富文本,图文混排编辑器
- 在iOS中UILabel作为一个文本标签,在实现程序中几乎每个页面都会用到UILabel,UILabel的常用属性:textColor(文本颜色),text(文本值),font(文本字体),textA
- 如何实现在一个activity的基础上点击一个按钮弹出一个新的小activity,不覆盖以前的activity
- 用Windows API实现一个简单的文本输入框(上)
- 一个android文本比对APP的实现(三)-设计模式在文件选择模块中的运用