展会信息港展会大全

[Android常用控件]Toast的几种效果实现
来源:互联网   发布日期:2015-10-03 11:19:53   浏览:1915次  

导读:Android中的Toast是一种简易的消息提示框,toast提示框不能被用户点击,toast会根据用户设置的显示时间后自动消失。 一.显示默认的Toast 实现代码: 1 Toast.makeText(getApplicationContext(), 显示默认的Toast, Toast.LENGTH_LONG).show(); 有两种方法来创...

Android中的Toast是一种简易的消息提示框,toast提示框不能被用户点击,toast会根据用户设置的显示时间后自动消失。

一.显示默认的Toast

实现代码:

1

Toast.makeText(getApplicationContext(), "显示默认的Toast", Toast.LENGTH_LONG).show();

有两种方法来创建默认的Toast,下面我们来都看一下:

1.显示resource中的资源

1

Toast.makeText(Context context, int resId, int duration).show();

参数: context是toast显示在哪个上下文,通常是当前Activity;resId指显示内容引用Resouce那条数据,就是从R类中去指定显示的消息内容;duration指定显示时间,Toast默认有LENGTH_SHORT和LENGTH_LONG两常量,分别表示显示时间的长短;

2.显示自定义的内容

1

Toast.makeText(Context context, CharSequence text, int duration).show();

参数: context和duration与第一个方法相同,参数text可以自己写消息内容;

二.显示带图片的Toast

实现代码:

1

Toast toast = Toast.makeText(getApplicationContext(), "显示带图片的Toast", Toast.LENGTH_LONG);

2

toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);

3

LinearLayout toastView = (LinearLayout) toast.getView();

4

ImageView imageCodeProject = new ImageView(getApplicationContext());

5

imageCodeProject.setImageResource(R.drawable.wirelessqa);

6

toastView.addView(imageCodeProject, 0);

7

toast.show();

三.显示自定义的Toast

实现代码:

01

LayoutInflater inflater = getLayoutInflater();

02

03

View layout = inflater.inflate(R.layout.define, (ViewGroup) findViewById(R.id.define));

04

05

TextView title = (TextView) layout.findViewById(R.id.define_title);

06

title.setText("这个是自定义的哦");

07

ImageView img = (ImageView) layout.findViewById(R.id.define_img);

08

img.setImageResource(R.drawable.wirelessqa);

09

TextView text = (TextView) layout.findViewById(R.id.define_text);

10

text.setText("www.wirelessqa.com");

11

Toast toast = new Toast(getApplicationContext());

12

toast.setGravity(Gravity.LEFT | Gravity.CENTER, 0, 0);

13

toast.setDuration(Toast.LENGTH_LONG);

14

// 替换掉原有的ToastView

15

toast.setView(layout);

16

toast.show();

四.显示其它线程的Toast

实现代码:

01

displayThread.setOnClickListener(new OnClickListener() {

02

03

@Override

04

05

public void onClick(View v) {

06

07

new Thread(new Runnable() {

08

09

@Override

10

11

public void run() {

12

13

otherThreadToast();

14

15

}

16

17

}).start();

18

19

}

20

21

});

22

23

}

24

25

private void otherThreadToast() {

26

27

handler.post(new Runnable() {

28

29

@Override

30

31

public void run() {

32

33

Toast.makeText(getApplicationContext(), "这个是其它线程的Toast哟", Toast.LENGTH_LONG).show();

34

35

}

36

37

});

38

39

}

五.显示自定义的位置

实现代码:

1

Toast toast = Toast.makeText(getApplicationContext(), "自定义Toast显示位置(上)", Toast.LENGTH_LONG);

2

3

toast.setGravity(Gravity.TOP, 0, 0);

4

5

toast.show();

两个方法可以设置显示位置:

方法一:setGravity(int gravity, int xOffset, int yOffset)三个参数分别表示(起点位置,水平向右位移,垂直向下位移)

方法二:setMargin(float horizontalMargin, float verticalMargin)

以横向和纵向的百分比设置显示位置,参数均为float类型(水平位移正右负左,竖直位移正上负下)

1

//设置Toast显示位置(起点位置,水平向右位移,垂直向下位移) toast.setGravity(Gravity.TOP | Gravity.LEFT, 0, 200);

2

//Toast显示位置,以横向和纵向的百分比计算,参数均为float类型(水平位移正右负左,竖直位移正上负下)

3

toast.setMargin(-0.5f, 0f);

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港