ホームページ  >  記事  >  バックエンド開発  >  Android UI コントロール シリーズ: トースト (プロンプト)

Android UI コントロール シリーズ: トースト (プロンプト)

黄舟
黄舟オリジナル
2017-01-19 09:31:541500ブラウズ

トーストは、ユーザーにヘルプ/ヒントを表示するために使用されます。以下では、トーストの威力を説明し、独自のトーストを定義するために 5 つのエフェクトを作成しました。

注:

LENGTH_LONG — ビューまたはテキスト プロンプトを長時間表示します

LENGTH_SHORT — ビューまたはテキスト プロンプトを短時間表示します

setGravity(int Gravity,int xOffset,int yOffset) — 位置を設定しますプロンプトを画面に表示する必要があります

setDuration(int duartion) - プロンプトの表示時間を設定します
1. デフォルトの効果

Android UI コントロール シリーズ: トースト (プロンプト)

code

Toast.makeText(getApplicationContext(), "默认Toast样式",  
Toast.LENGTH_SHORT).show();

2. カスタマイズされた表示位置効果

Android UI コントロール シリーズ: トースト (プロンプト)

code

toast = Toast.makeText(getApplicationContext(),  
 "自定义位置Toast", Toast.LENGTH_LONG);  
 toast.setGravity(Gravity.CENTER, 0, 0);  
 toast.show();

3. 画像エフェクト付き

Android UI コントロール シリーズ: トースト (プロンプト)コード

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. 完全にカスタムエフェクト

Android UI コントロール シリーズ: トースト (プロンプト)コード

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.

完全なコード

1 . Main,java

new Thread(new Runnable() {  
    public void run() {  
     showToast();  
    }  
   }).start();
Android UI コントロール シリーズ: トースト (プロンプト) 2.main,xml

package com.wjq.toast;<br>import android.app.Activity;<br>import android.os.Bundle;
<br>import android.os.Handler;<br>import android.view.Gravity;<br>import android.view.LayoutInflater;
<br>import android.view.View;<br>import android.view.ViewGroup;<br>import android.view.View.OnClickListener;
<br>import android.widget.ImageView;<br>import android.widget.LinearLayout;<br>import android.widget.TextView;
<br>import android.widget.Toast;<br>public class Main extends Activity implements OnClickListener 
{<br>Handler handler = new Handler();<br>@Override<br>public void onCreate(Bundle savedInstanceState) 
{<br>  super.onCreate(savedInstanceState);<br>  setContentView(R.layout.main);<br>  
findViewById(R.id.btnSimpleToast).setOnClickListener(this);<br> 
findViewById(R.id.btnSimpleToastWithCustomPosition).setOnClickListener(<br>    this);<br>  
findViewById(R.id.btnSimpleToastWithImage).setOnClickListener(this);<br>  findViewById(R.id.btnCustomToast).setOnClickListener(this);<br>  
findViewById(R.id.btnRunToastFromOtherThread).setOnClickListener(this);<br>}<br>public void showToast() {<br>  handler.post(new Runnable() {<br>   @Override<br>
   public void run() {<br>    Toast.makeText(getApplicationContext(), "我来自其他线程!",<br>      Toast.LENGTH_SHORT).show();<br>   }<br>  });<br>}<br>@Override
   <br>public void onClick(View v) {<br>  Toast toast = null;<br>  switch (v.getId()) {<br>  case R.id.btnSimpleToast:<br>   
   Toast.makeText(getApplicationContext(), "默认Toast样式",<br>     Toast.LENGTH_SHORT).show();<br>   break;<br>  case R.id.btnSimpleToastWithCustomPosition:<br> 
     toast = Toast.makeText(getApplicationContext(),<br>     "自定义位置Toast", Toast.LENGTH_LONG);<br>   toast.setGravity(Gravity.CENTER, 0, 0);<br>   
     toast.show();<br>   break;<br>  case R.id.btnSimpleToastWithImage:<br>   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();<br>   break;<br>  case R.id.btnCustomToast:<br>   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();<br>   break;<br>  case R.id.btnRunToastFromOtherThread:<br>   new Thread(new Runnable() {
    public void run() {
     showToast();
    }
   }).start();<br>   break;<br>  }<br>}<br>}

3.custom.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="默认"></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>

上記は Android UI コントロール シリーズ: トースト (プロンプト) の内容です。 PHP 中国語 Web サイト (www.php.cn)!


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。