提示信息——Toast
提示信息:当用户执行某个操作后,自动显示,过一会自动消失。
实现方法:
Toast.makeText(context,显示的内容,时间的长短);
时间的长短为两个常量Toast.LENGTH_LONG或者Toast.LENGTH_SHORT
1.显示文本
2.显示图片
3.显示文本和图片
package com.example.toast;
import android.os.Bundle;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.view.Gravity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
/*
* toast提示信息
*/
public class MainActivity extends Activity implements android.view.View.OnClickListener {
private Button btn1;
private Button btn2;
private Button btn3;
private Button btn4;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1 =(Button) findViewById(R.id.button1);
btn1.setOnClickListener(this);
btn2 =(Button) findViewById(R.id.button2);
btn2.setOnClickListener(this);
btn3 =(Button) findViewById(R.id.button3);
btn3.setOnClickListener(this);
btn4 =(Button) findViewById(R.id.button4);
btn4.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
toast1();
break;
case R.id.button2:
toast2();
break;
case R.id.button3:
toast3();
break;
case R.id.button4:
toast4();
break;
default:
break;
}
toast1();
}
//显示图文2(自己定义组件组合)
private void toast4() {
Toast t = new Toast(this);
t.setGravity(Gravity.CENTER, 0, 0);
ImageView iv = new ImageView(this); //新建显示图片组件
iv.setImageResource(R.drawable.ic_launcher);
TextView tv = new TextView(this); //新建显示文字组件
tv.setText("图片提示信息");
LinearLayout view = new LinearLayout(this); //新建布局组件
view.setOrientation(LinearLayout.HORIZONTAL);
view.addView(iv); //将图片组件加入到布局组件linearlayout
view.addView(tv);
t.setView(view);
t.show();
}
//显示图文1
private void toast3() {
Toast t = Toast.makeText(this, "图文提示信息", Toast.LENGTH_LONG);
t.setGravity(Gravity.CENTER, 0, 0);
// System.out.println(t.getView());
LinearLayout view = (LinearLayout)t.getView();
//设置布局的方向为水平方向
view.setOrientation(LinearLayout.HORIZONTAL);
ImageView iv = new ImageView(this);
iv.setImageResource(R.drawable.ic_launcher);
//在布局中插入一个图片组件
view.addView(iv, 0);
t.show();
}
//显示图片
private void toast2() {
Toast t = new Toast(this);
t.setDuration(Toast.LENGTH_LONG);//设置时间
//创建一个图片组件对象
ImageView iv = new ImageView(this);
//绑定图片资源(int类型的索引值)
iv.setImageResource(R.drawable.ic_launcher);
t.setView(iv);
//设置Toast信息显示的位置
t.setGravity(Gravity.CENTER|Gravity.TOP, 0, 0);
t.show();
}
//显示文件的提示信息
private void toast1() {
//(参数,上下文,文本内容,显示时间)
Toast t = Toast.makeText(this,"Toast文本类型的信息", Toast.LENGTH_LONG);
t.show();
}
}
上图第3个按钮和第四个按钮都是显示图片和文字的提示信息,只是在代码的实现上稍有差别,第四个按钮是自定义设计组件,思路比较清晰。