首页 > 代码库 > Toast解析

Toast解析

技术分享

课程Demo

public class MainActivity extends AppCompatActivity  {
private Button bt1;
private Button bt2;
private Button bt3;
private Button bt4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt1= (Button) findViewById(R.id.bt1);
bt2= (Button) findViewById(R.id.bt2);
bt3= (Button) findViewById(R.id.bt3);
bt4= (Button) findViewById(R.id.bt4);
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showToast1();
}
});
bt2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showToast2();
}
});
bt3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showToast3();
}
});
bt4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showToast4();
}
});
}
private void showToast1() {
Toast ts= Toast.makeText(this,R.string.putong,Toast.LENGTH_SHORT);
ts.show();
}
private void showToast2() {
Toast ts= Toast.makeText(this,R.string.yiwei,Toast.LENGTH_SHORT);
//第一个参数是位置,第二,三个是相对于现在位置的偏移量
ts.setGravity(Gravity.CENTER,50,-50);
//显示Toast
ts.show();
}
//这里是先通过ts.getView先获取布局对象,再给布局填充资源
private void showToast3() {
Toast ts=Toast.makeText(this,R.string.tupian,Toast.LENGTH_SHORT);
//ts.getView返回一个布局对象,不能返回View对象,因为没有view.addView()方法
LinearLayout toastlayout=(LinearLayout) ts.getView();
//创建一个ImageView对象的引用
ImageView iv=new ImageView(this);
//为ImageView对象加载资源
iv.setImageResource(R.drawable.she);
//把ImageView对象加载到布局中,0指的是ImageView在这个线性布局中的位置
toastlayout.addView(iv,0);
ts.show();
}
//先通过xml文件配置好布局资源,再生成View对象,再加载View对象
private void showToast4() {
// 俩种创建view对象的方式
// LayoutInflater inflater=LayoutInflater.from(this);
// View view=inflater.inflate(R.layout.toast,null);
View view =View.inflate(this,R.layout.toast,null);
//创建Toast对象也可以直接new出来
Toast ts= new Toast(this);
//为Toast填充View对象
ts.setView(view);
ts.show();
}
}

Toast解析