Android 彈出對話框Dialog
Dialog01Activity.java
package Rw.Dialog;import android.app.Activity; import android.app.AlertDialog; import android.app.ProgressDialog; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast;
public class Dialog01Activity extends Activity {
private Button button1,button2,button3,button4,button6,button7; ProgressDialog progressDialog=null; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button1=(Button)findViewById(R.id.button1); button2=(Button)findViewById(R.id.button2); button3=(Button)findViewById(R.id.button3); button4=(Button)findViewById(R.id.button4); button6=(Button)findViewById(R.id.button6); button7=(Button)findViewById(R.id.button7); button1.setOnClickListener(new ButtonListener()); button2.setOnClickListener(new ButtonListener()); button3.setOnClickListener(new ButtonListener()); button4.setOnClickListener(new ButtonListener()); button6.setOnClickListener(new ButtonListener()); button7.setOnClickListener(new ButtonListener()); } class ButtonListener implements OnClickListener{ @Override public void onClick(View v) { final String[] itemStrings={"AA","BB","CC","DD"}; // TODO Auto-generated method stub switch (v.getId()) { case R.id.button1: AlertDialog.Builder dialog=new AlertDialog.Builder(Dialog01Activity.this); dialog.setTitle("Dialog").setIcon(android.R.drawable.ic_dialog_info).setMessage("彈出框").setPositiveButton("確定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //轉跳到另外一個Activity // TODO Auto-generated method stub Intent intent=new Intent(); intent.setClass(getApplicationContext(), list.class); startActivity(intent); } }).setNegativeButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub dialog.cancel();//取消彈出框 } }).create().show(); break; case R.id.button2: AlertDialog.Builder builder=new AlertDialog.Builder(Dialog01Activity.this); builder.setTitle("LIST").setIcon(android.R.drawable.ic_lock_lock).setItems(itemStrings, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "你點擊的是"+itemStrings[which], Toast.LENGTH_LONG).show(); } }).create().show(); break; case R.id.button3: AlertDialog.Builder builder1=new AlertDialog.Builder(Dialog01Activity.this); builder1.setTitle("LIST").setIcon(android.R.drawable.ic_lock_lock).setSingleChoiceItems(itemStrings,-1, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "你點擊的是"+itemStrings[which], Toast.LENGTH_LONG).show(); } }).create().show(); builder1.setCancelable(true); break; case R.id.button4: progressDialog=ProgressDialog.show(Dialog01Activity.this, "下載", "下載中.....",true); progressDialog.setCancelable(true);//當點擊按鈕返回的時候Dialog消失 //progressDialog.dismiss(); break; case R.id.button6: LayoutInflater inflater=(LayoutInflater)getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE); View view=inflater.inflate(R.layout.style, null); AlertDialog.Builder builder2=new AlertDialog.Builder(Dialog01Activity.this); builder2.setView(view); builder2.setTitle("QQ2011").setPositiveButton("確定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub dialog.cancel(); } }).create().show(); break; case R.id.button7: Dialog01Activity.this.finish(); break; default: break; } } }
}</pre>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:weightSum="1"> <Button android:id="@+id/button1" android:layout_height="wrap_content" android:layout_width="match_parent" android:text="簡單彈出框"></Button> <Button android:id="@+id/button2" android:layout_height="wrap_content" android:layout_width="match_parent" android:text="帶有列表風格"></Button> <Button android:id="@+id/button3" android:layout_height="wrap_content" android:layout_width="match_parent" android:text="帶有Radio"></Button> <Button android:id="@+id/button4" android:layout_height="wrap_content" android:layout_width="match_parent" android:text="進度條"></Button> <Button android:id="@+id/button6" android:layout_height="wrap_content" android:layout_width="match_parent" android:text="自定義的"></Button> <Button android:id="@+id/button7" android:layout_height="wrap_content" android:layout_width="match_parent" android:text="退出"></Button> </LinearLayout>自定義的Dialog風格 style.xml<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="</LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" > <TextView android:text="密碼:" android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <EditText android:layout_height="wrap_content" android:layout_weight="1" android:layout_width="wrap_content" android:id="@+id/editText2" android:inputType="textPassword"></EditText>
</LinearLayout> </LinearLayout></pre>
主頁面
![]()