Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android開發步步為營之32:玩轉Toast

android開發步步為營之32:玩轉Toast

編輯:關於Android編程

Toast英文名為土司,在Android裡面這個類是用來彈出提示信息的,我想sdk作者是認為提示信息片長得就像一塊土司吧。這個理論就不多說什麼了,開始我們的實踐。
第一步、設計頁面
主頁面toastview.xml

android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">







自定義toast頁面customtoast.xml

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" >

android:layout_margin="1dip" android:textColor="#ffffffff"
android:layout_width="fill_parent" android:gravity="center"
android:background="#bb000000" android:id="@+id/tvTitleToast"/>
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">
android:layout_gravity="center" android:layout_width="wrap_content"
android:id="@+id/imgToast" />
android:paddingRight="10dip" android:paddingLeft="10dip"
android:layout_width="wrap_content" android:gravity="center"
android:textColor="#ff000000" android:id="@+id/tvTextToast"/>




第二步、設計Acttivity ToastActivity.java

/**
*
*/
package com.figo.helloworld;

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.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

/**
* @author Administrator
*
*/
public class ToastActivity extends Activity implementsOnClickListener {
Handler handler = new Handler();//幫助主線程和子線程進行通信



@Override
public void onCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
//找到頁面
setContentView(R.layout.toastview);
//添加按鈕事件
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
Toast.makeText(getApplicationContext(),"默認Toast樣式",
Toast.LENGTH_SHORT).show();
break;
caseR.id.btnSimpleToastWithCustomPosition://自定義位置的toast
toast =Toast.makeText(getApplicationContext(), "自定義位置Toast",
Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER,0, 0);
toast.show();
break;
caseR.id.btnSimpleToastWithImage://帶圖片的toast
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://自定義toast
LayoutInflaterinflater = getLayoutInflater();
View layout =inflater.inflate(R.layout.customtoast,
(ViewGroup)findViewById(R.id.llToast));
ImageView image =(ImageView) layout
.findViewById(R.id.imgToast);
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 = newToast(getApplicationContext());
toast.setGravity(Gravity.RIGHT| Gravity.TOP, 100, 60);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
break;
caseR.id.btnRunToastFromOtherThread://其他線程執行完後在主線程顯示toast
new Thread(new Runnable() {
public void run() {
showToast();
}
}).start();
break;

}

}

}

第三步、AndroidManifest.xml注冊Activity






第四步、運行效果

\

\

\

\

\

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved