Android~Toast使用
2015-06-06 09:20
405 查看
在android开发中Toast是比较常用的消息提示框,接下来我们看看Toast的用法。
1.一般用法
通常我们使用Toast的方法是:Toast.makeText
Toast.makeText
该方法很简单:Toast.makeText(Context,"默认的Toast",Toast.LENGTH_LONG).show();
这样就可以显示一个Toast啦。
2.自定义位置用法
有时候我们的消息提示框未必在底部显示的,有可能需要在顶部提示~~那么该怎么使用才能令Toast显示在顶部呢?
3.带图片的Toast
有时候光是文字的Toast提示框已经满足不了我们了~还需要图片~
那么接下来我们看一下怎么样把图片加上去
4.自定义Toast
5.在其他线程调用Toast
toas在主线才能够使用~为什么?相信大家都知道android的ui只能在主线程运行。那么我们在别的线程想用到toast怎么办呢?
我们可以使用handler~至于不熟悉handler的童鞋~~自己去百度吧~
最后提一下Toast的使用技巧:
在开发过程中必然会大量使用到toast,那么每个地方都写一大串代码明显是不可行的,就算是最简单的Toast.makeText()也每次都要传三个参数。那么我们如何简化toast的使用呢?
方法一:
我们可以在activity的基类封装toast,在开发中我们常常会有一个activity的基类。那么我们的toast可以写在这个地方
方法二:
定义一个工具类,该工具类里有一个静态调用toast的方法
那么我们只需要:类名.showToast("Test");
就可以调用了,相比每次都要传三个参数最后还要调用一下show()的用法,是不是方便很多呢?
1.一般用法
通常我们使用Toast的方法是:Toast.makeText
Toast.makeText
该方法很简单:Toast.makeText(Context,"默认的Toast",Toast.LENGTH_LONG).show();
这样就可以显示一个Toast啦。
2.自定义位置用法
有时候我们的消息提示框未必在底部显示的,有可能需要在顶部提示~~那么该怎么使用才能令Toast显示在顶部呢?
//这一步跟上面的写法差不多
Toast toast=Toast.makeText(getApplicationContext(), "自定义显示位置的Toast", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.TOP|Gravity.CENTER, -50, 100);
toast.show();//第一个参数:设置toast在屏幕中显示的位置。我现在的设置是居中靠顶//第二第三个参数分别为toast在x,y上的偏移量 //如果你设置的偏移量超过了屏幕的范围,toast将在屏幕内靠近超出的那个边界显示
3.带图片的Toast
有时候光是文字的Toast提示框已经满足不了我们了~还需要图片~
那么接下来我们看一下怎么样把图片加上去
Toast toast=Toast.makeText(getApplicationContext(), "显示带图片的toast", 3000); toast.setGravity(Gravity.CENTER, 0, 0); //创建图片视图对象 ImageView imageView= new ImageView(getApplicationContext()); //设置图片 imageView.setImageResource(R.drawable.ic_launcher); //获得toast的布局 LinearLayout toastView = (LinearLayout) toast.getView(); //设置此布局为横向的 toastView.setOrientation(LinearLayout.HORIZONTAL); //将ImageView在加入到此布局中的第一个位置 toastView.addView(imageView, 0); toast.show();
4.自定义Toast
LayoutInflater inflater = getLayoutInflater(); //通过制定XML文件及布局ID来填充一个视图对象 View layout = inflater.inflate(R.layout.custom2,(ViewGroup)findViewById(R.id.llToast)); ImageView image = (ImageView) layout.findViewById(R.id.tvImageToast); //设置图片 image.setImageResource(R.drawable.ic_launcher); //生成textview对象 TextView title = (TextView) layout.findViewById(R.id.tvTitleToast); //设置标题 title.setText("标题栏"); TextView text = (TextView) layout.findViewById(R.id.tvTextToast); 设置内容 text.setText("完全自定义Toast"); Toast toast= new Toast(getApplicationContext()); toast.setGravity(Gravity.CENTER , 0, 0); toast.setDuration(Toast.LENGTH_LONG); toast.setView(layout); toast.show();
5.在其他线程调用Toast
toas在主线才能够使用~为什么?相信大家都知道android的ui只能在主线程运行。那么我们在别的线程想用到toast怎么办呢?
我们可以使用handler~至于不熟悉handler的童鞋~~自己去百度吧~
最后提一下Toast的使用技巧:
在开发过程中必然会大量使用到toast,那么每个地方都写一大串代码明显是不可行的,就算是最简单的Toast.makeText()也每次都要传三个参数。那么我们如何简化toast的使用呢?
方法一:
我们可以在activity的基类封装toast,在开发中我们常常会有一个activity的基类。那么我们的toast可以写在这个地方
方法二:
定义一个工具类,该工具类里有一个静态调用toast的方法
public static void showToast(String str){ if (mToast == null) {
mToast = Toast.makeText(getApplicationContext(), str,Toast.LENGTH_LONG); } else { mToast.setText(str); } mToast.show(); }
那么我们只需要:类名.showToast("Test");
就可以调用了,相比每次都要传三个参数最后还要调用一下show()的用法,是不是方便很多呢?
相关文章推荐
- 常用的android弹出对话框
- Android25图灵聊天项目------异步任务类的使用
- 【转】Android下编译jni库的二种方法(含示例) -- 不错
- 【转】如何定制android源码的编译选项 & 后期安装? ---- 不错
- Android中的volley_12_请求重试策略RetryPolicy和DefaultRetryPolicy
- Android编程读写首选项
- Android——SharedPreferences实现登录界面的记住密码和自动登录功能
- 菜鸟学Android笔记(二十四):ServletContext1
- 在android工程中导入图片
- 无法打开Android SDK Manager的解决办法
- 菜鸟学Android笔记(二十三):ServletConfig
- android style 退出动画 解决退出动画无效问题
- android窗体动画:activity启动从底部向上滑动出现,关闭的时候从顶部向下滑动消失的动画实现
- 6.5android 自定义相机,以及部分手机系统相机的bug
- Android自定义控件
- Android实现QQ第三方登录
- Android应用之最新版本SDKV2.4实现QQ第三方登录
- Qt for android 截屏、Qml保存图片到本地
- Android学习日记(10)
- Android抽象布局——include、merge 、ViewStub .