您的位置:首页 > 产品设计 > UI/UE

Android学习笔记---第二天---基础UI组件---Toast

2016-04-03 09:31 549 查看
Toast可以显示文本和图片,用于显示提示信息。

显示默认文本

Toast.makeText(getApplicationContext(),"Welecome",Toast.LENGTH_SHORT).show();


这个静态函数会返回一个包含一个文本视图的Toast对象,他有三个参数

1.第一个参数当前上下文环境可以使用getApplicationContext()//应用程序的上下文;或者this//当前对象上下文;

2.第二个参数需要显示的文本内容;

3.第三个参数需要显示的时间长短有两个常量可以选择Toast.LENGTH_SHORT和Toast.LENGTH_LONG;

显示图片

public void viewImg(View v){
Toast toast=new Toast(this);//使用Toast的构造函数创建一个新的Toast对象,参数为当前上下文环境;
ImageView imageView=new ImageView(this);//新建一个ImageView对象,用于显示图片;
imageView.setImageResource(R.drawable.bz);//给imageView对象指定一个图片;
//注意在存放资源时图片名称全部小写只能字母打头;
toast.setView(imageView);//setView函数用来设置视图,这里我们将刚才新建的imageView对象作为参数;
toast.setDuration(Toast.LENGTH_LONG);//该函数用于设置显示的时间长短,同样的有两个常量可以选择;
toast.show();//显示视图函数;
}


自定义显示位置

自定义显示位置需要使用setGravity(int gravity, int xOffset, int yOffset)函数;

该函数有三个参数:

1.第一个参数设置显示位置使用Gravity类里面的常量如Gravity.CENTER//居中显示;

2.第二个参数x轴的偏移量;

3.第三个参数y轴的偏移量;

public void viewImg(View v){
Toast toast=new Toast(this);//使用Toast的构造函数创建一个新的Toast对象,参数为当前上下文环境;
ImageView imageView=new ImageView(this);//新建一个ImageView对象,用于显示图片;
imageView.setImageResource(R.drawable.bz);//给imageView对象指定一个图片;
//注意在存放资源时图片名称全部小写只能字母打头;
toast.setView(imageView);//setView函数用来设置视图,这里我们将刚才新建的imageView对象作为参数;
toast.setDuration(Toast.LENGTH_LONG);//该函数用于设置显示的时间长短,同样的有两个常量可以选择;
toast.setGravity(Gravity.TOP,0,0);//设置显示位置为顶部;
 toast.show();//显示视图函数;
}


显示图片加文本

有两种方法可以直接新建一个布局放到Toast里面也可以获取到Toast的布局再添加一个图片进去;

方法一新建一个布局:

public void viewImgText(View v){
Toast toast=new Toast(this);
TextView textView=new TextView(this);//新建一个文本对象;
textView.setText("Welcome");//设置文本内容;
ImageView imageView=new ImageView(this);
imageView.setImageResource(R.drawable.bz);

LinearLayout layout=new LinearLayout(this);//新建一个线性布局;
layout.setOrientation(LinearLayout.VERTICAL);//设置为垂直;
layout.setGravity(Gravity.CENTER);//设置该布局中内容显示的位置;
layout.addView(imageView);//将图片添加到线性布局中;
layout.addView(textView);//将文本添加到线性布局中;

toast.setView(layout);//设置要显示的视图为线性布局;

toast.setGravity(Gravity.CENTER, 0, 0);//设置显示位置
toast.setDuration(Toast.LENGTH_LONG);//设置显示时间
toast.show();//显示Toast对象;
}


方法二获取Toast的布局:

public void viewImgText(View v){
Toast toast=Toast.makeText(getApplicationContext(), "Welecome", Toast.LENGTH_LONG);
ImageView imageView=new ImageView(this);
imageView.setImageResource(R.drawable.bz);

LinearLayout layout=(LinearLayout)toast.getView();//获取Toast的布局;
layout.setOrientation(LinearLayout.VERTICAL);//设置布局为垂直;
layout.addView(imageView);//将图片添加到布局中

toast.setGravity(Gravity.CENTER, 0, 0);//设置显示位置;
toast.show();//显示对象;
}


效果图







附加

Toast还能以完全自定义和其他线程的方式显示;

完全自定义需要使用LayoutInflater类将自定义xml转换为View再进行显示。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: