如何在Android开发中熟练使用五种Toast的特效
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Android开发中熟练使用五种Toast的特效相关的知识,希望对你有一定的参考价值。
Toast是android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失。默认效果,代码为:Toast.makeText(getApplicationContext(), "默认Toast样式", Toast.LENGTH_SHORT).show();
自定义显示位置效果,代码为:
toast = Toast.makeText(getApplicationContext(), "自定义位置Toast", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); toast.show();
带图片效果,代码为:
toast = Toast.makeText(getApplicationContext(), "带图片的Toast", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); LinearLayout toastView = (LinearLayout) toast.getView(); ImageView imageCodeProject = new ImageView(getApplicationContext()); imageCodeProject.setImageResource(R.drawable.icon); toastView.addView(imageCodeProject, 0); toast.show(); 参考技术A
工具/原料
Eclipse
SDk
方法/步骤
1. Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失。默认效果,代码为:
Toast.makeText(getApplicationContext(), "默认Toast样式", Toast.LENGTH_SHORT).show();
2. 自定义显示位置效果,代码为:
toast = Toast.makeText(getApplicationContext(), "自定义位置Toast", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); toast.show();
3. 带图片效果,代码为:
toast = Toast.makeText(getApplicationContext(), "带图片的Toast", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); LinearLayout toastView = (LinearLayout) toast.getView(); ImageView imageCodeProject = new ImageView(getApplicationContext()); imageCodeProject.setImageResource(R.drawable.icon); toastView.addView(imageCodeProject, 0); toast.show();
4. 完全自定义效果,代码为:
LayoutInflater inflater = getLayoutInflater(); View layout = inflater.inflate(R.layout.custom, (ViewGroup) findViewById(R.id.llToast)); ImageView image = (ImageView) layout .findViewById(R.id.tvImageToast); image.setImageResource(R.drawable.icon); TextView title = (TextView) layout.findViewById(R.id.tvTitleToast); title.setText("Attention"); TextView text = (TextView) layout.findViewById(R.id.tvTextToast); text.setText("完全自定义Toast"); toast = new Toast(getApplicationContext()); toast.setGravity(Gravity.RIGHT | Gravity.TOP, 12, 40); toast.setDuration(Toast.LENGTH_LONG); toast.setView(layout); toast.show();
5. 其他线程,代码为:
new Thread(new Runnable() public void run() showToast(); ).start();
android源代码分析 android toast使用具体解释 toast自己定义
在安卓开发过程中。toast使我们常常使用的一个类。当我们须要向用户传达一些信息,可是不须要和用户交互时,该方式就是一种十分恰当的途径。
我们习惯了这样使用toast:Toast.makeText(Context context, String info, int duration).show();该方法是
系统为我们提供的一个方便的创建toast对象的静态方法,其内部依旧是调用toast的相关方法完毕。以下
就从其源代码对该类的实现做一个分析
在toast类中,最重要的用于显示该toast的show方法调用了service.enqueueToast(pkg, tn, mDuration);也就是说
系统为我们维持了一个toast队列,这也是为什么两个toast不会同一时候显示的原因。该方法将一个toast入队,显示则由系统维持显示的时机。
fa
以上是关于如何在Android开发中熟练使用五种Toast的特效的主要内容,如果未能解决你的问题,请参考以下文章
android Toast大全(五种情形)建立属于你自己的Toast