Android中Toast的用法简介
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
Toast是Android中用來顯示顯示信息的一種機(jī)制,和Dialog不一樣的是,Toast是沒有焦點(diǎn)的,而且Toast顯示的時間有限,過一定的時間就會自動消失。下面用一個實例來看看如何使用Toast。
?
1.默認(rèn)效果
代碼
Toast.makeText(getApplicationContext(), "默認(rèn)Toast樣式",
?????Toast.LENGTH_SHORT).show();
?
2.自定義顯示位置效果
代碼
toast = Toast.makeText(getApplicationContext(),
?????"自定義位置Toast", Toast.LENGTH_LONG);
???toast.setGravity(Gravity.CENTER, 0, 0);
???toast.show();
?
3.帶圖片效果
?
代碼
toast = Toast.makeText(getApplicationContext(),
?????"帶圖片的Toast", Toast.LENGTH_LONG);
???toast.setGravity(Gravity.CENTER, 0, 0);
???LinearLayout toastView = (LinearLayout) toast.getView();
???ImageView imageCodeProject = new ImageView(getApplicationContext());
???imageCodeProject.setImageResource(R.drawable.icon);
???toastView.addView(imageCodeProject, 0);
???toast.show();
?
4.完全自定義效果
代碼
LayoutInflater inflater = getLayoutInflater();
???View layout = inflater.inflate(R.layout.custom,
?????(ViewGroup) findViewById(R.id.llToast));
???ImageView image = (ImageView) layout
?????.findViewById(R.id.tvImageToast);
???image.setImageResource(R.drawable.icon);
???TextView title = (TextView) layout.findViewById(R.id.tvTitleToast);
???title.setText("Attention");
???TextView text = (TextView) layout.findViewById(R.id.tvTextToast);
???text.setText("完全自定義Toast");
???toast = new Toast(getApplicationContext());
???toast.setGravity(Gravity.RIGHT | Gravity.TOP, 12, 40);
???toast.setDuration(Toast.LENGTH_LONG);
???toast.setView(layout);
???toast.show();
?
5.其他線程
?代碼
new Thread(new Runnable() {
????public void run() {
?????showToast();
????}
???}).start();
?
?
完整代碼
1.Main,java
package com.wjq.toast;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
public class Main extends Activity implements OnClickListener {
?Handler handler = new Handler();
?@Override
?public void onCreate(Bundle savedInstanceState) {
??super.onCreate(savedInstanceState);
??setContentView(R.layout.main);
??findViewById(R.id.btnSimpleToast).setOnClickListener(this);
??findViewById(R.id.btnSimpleToastWithCustomPosition).setOnClickListener(
????this);
??findViewById(R.id.btnSimpleToastWithImage).setOnClickListener(this);
??findViewById(R.id.btnCustomToast).setOnClickListener(this);
??findViewById(R.id.btnRunToastFromOtherThread).setOnClickListener(this);
?}
?public void showToast() {
??handler.post(new Runnable() {
???@Override
???public void run() {
????Toast.makeText(getApplicationContext(), "我來自其他線程!",
??????Toast.LENGTH_SHORT).show();
???}
??});
?}
?@Override
?public void onClick(View v) {
??Toast toast = null;
??switch (v.getId()) {
??case R.id.btnSimpleToast:
???Toast.makeText(getApplicationContext(), "默認(rèn)Toast樣式",
?????Toast.LENGTH_SHORT).show();
???break;
??case R.id.btnSimpleToastWithCustomPosition:
???toast = Toast.makeText(getApplicationContext(),
?????"自定義位置Toast", Toast.LENGTH_LONG);
???toast.setGravity(Gravity.CENTER, 0, 0);
???toast.show();
???break;
??case R.id.btnSimpleToastWithImage:
???toast = Toast.makeText(getApplicationContext(),
?????"帶圖片的Toast", Toast.LENGTH_LONG);
???toast.setGravity(Gravity.CENTER, 0, 0);
???LinearLayout toastView = (LinearLayout) toast.getView();
???ImageView imageCodeProject = new ImageView(getApplicationContext());
???imageCodeProject.setImageResource(R.drawable.icon);
???toastView.addView(imageCodeProject, 0);
???toast.show();
???break;
??case R.id.btnCustomToast:
???LayoutInflater inflater = getLayoutInflater();
???View layout = inflater.inflate(R.layout.custom,
?????(ViewGroup) findViewById(R.id.llToast));
???ImageView image = (ImageView) layout
?????.findViewById(R.id.tvImageToast);
???image.setImageResource(R.drawable.icon);
???TextView title = (TextView) layout.findViewById(R.id.tvTitleToast);
???title.setText("Attention");
???TextView text = (TextView) layout.findViewById(R.id.tvTextToast);
???text.setText("完全自定義Toast");
???toast = new Toast(getApplicationContext());
???toast.setGravity(Gravity.RIGHT | Gravity.TOP, 12, 40);
???toast.setDuration(Toast.LENGTH_LONG);
???toast.setView(layout);
???toast.show();
???break;
??case R.id.btnRunToastFromOtherThread:
???new Thread(new Runnable() {
????public void run() {
?????showToast();
????}
???}).start();
???break;
??}
?}
}
?
2.main,xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
?android:orientation="vertical" android:layout_width="fill_parent"
?android:layout_height="fill_parent" android:padding="5dip" android:gravity="center">
?<Button android:layout_height="wrap_content"
??android:layout_width="fill_parent" android:id="@+id/btnSimpleToast"
??android:text="默認(rèn)"></Button>
?<Button android:layout_height="wrap_content"
??android:layout_width="fill_parent" android:text="自定義顯示位置"
??android:id="@+id/btnSimpleToastWithCustomPosition"></Button>
?<Button android:layout_height="wrap_content"
??android:layout_width="fill_parent" android:id="@+id/btnSimpleToastWithImage"
??android:text="帶圖片"></Button>
?<Button android:layout_height="wrap_content"
??android:layout_width="fill_parent" android:text="完全自定義"
??android:id="@+id/btnCustomToast"></Button>
?<Button android:layout_height="wrap_content"
??android:layout_width="fill_parent" android:text="其他線程"
??android:id="@+id/btnRunToastFromOtherThread"></Button>
</LinearLayout>
?
3.custom.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
?xmlns:android="http://schemas.android.com/apk/res/android"
?android:layout_height="wrap_content" android:layout_width="wrap_content"
?android:background="#ffffffff" android:orientation="vertical"
?android:id="@+id/llToast" >
?<TextView
??android:layout_height="wrap_content"
??android:layout_margin="1dip"
??android:textColor="#ffffffff"
??android:layout_width="fill_parent"
??android:gravity="center"
??android:background="#bb000000"
??android:id="@+id/tvTitleToast" />
?<LinearLayout
??android:layout_height="wrap_content"
??android:orientation="vertical"
??android:id="@+id/llToastContent"
??android:layout_marginLeft="1dip"
??android:layout_marginRight="1dip"
??android:layout_marginBottom="1dip"
??android:layout_width="wrap_content"
??android:padding="15dip"
??android:background="#44000000" >
??<ImageView
???android:layout_height="wrap_content"
???android:layout_gravity="center"
???android:layout_width="wrap_content"
???android:id="@+id/tvImageToast" />
??<TextView
???android:layout_height="wrap_content"
???android:paddingRight="10dip"
???android:paddingLeft="10dip"
???android:layout_width="wrap_content"
???android:gravity="center"
???android:textColor="#ff000000"
???android:id="@+id/tvTextToast" />
?</LinearLayout>
</LinearLayout>
轉(zhuǎn)載于:https://my.oschina.net/xxjbs001/blog/372331
總結(jié)
以上是生活随笔為你收集整理的Android中Toast的用法简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android应用中使用AsyncHtt
- 下一篇: 自然语言处理常用工具