Android 에서 AlertDialog 각종 대화 상자 의 사용법 실례 상세 설명

10391 단어 androidalertdialog
대상 효과:

프로그램 이 실 행 됩 니 다.그림 1 의 몇 개의 단 추 를 표시 하고 단 추 를 누 르 면 그림 2 에서 그림 6 의 대화 상 자 를 표시 합 니 다.대화 상자 의 한 항목 이나 단 추 를 누 르 면 해당 토스트 출력 이 표 시 됩 니 다.
1.activity_main.xml 페이지 에 다섯 개의 단 추 를 저장 합 니 다.
activity_main.xml 페이지:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context=".MainActivity" > 
<Button 
android:id="@+id/btnSure" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_marginTop="10dp" 
android:text="     "/> 
<Button 
android:id="@+id/btnRadio" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_marginTop="60dp" 
android:text="     "/> 
<Button 
android:id="@+id/btnCheck" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_marginTop="110dp" 
android:text="     "/> 
<Button 
android:id="@+id/btnList" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_marginTop="160dp" 
android:text="     "/> 
<Button 
android:id="@+id/btnMy" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_marginTop="210dp" 
android:text="      "/> 
</RelativeLayout> 
2.마지막 사용자 정의 대화 상자 의 레이아웃 페이지 로 dialog.xml 페이지 를 새로 만 듭 니 다.
dialog.xml 페이지:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:orientation="vertical" > 
<LinearLayout 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:orientation="horizontal" > 
<EditText 
android:id="@+id/edInput" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_weight="2" > 
<requestFocus /> 
</EditText> 
<Button 
android:id="@+id/btnOk" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_weight="1" 
android:text="  " /> 
</LinearLayout> 
<ImageView 
android:id="@+id/ivPicture" 
android:layout_width="wrap_content" 
android:layout_height="280dp" 
android:src="@drawable/white" /> 
<TextView 
android:id="@+id/textView1" 
android:layout_gravity="center" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="TextView" /> 
</LinearLayout> 
3.MainActivity.java 페이지 에서 대화 상자 의 팝 업 및 클릭 이 벤트 를 처리 합 니 다.
MainActivity.java 페이지:

package com.example.alertdialog; 
import android.os.Bundle; 
import android.app.Activity; 
import android.app.AlertDialog; 
import android.content.DialogInterface; 
import android.view.LayoutInflater; 
import android.view.Menu; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.Toast; 
public class MainActivity extends Activity implements OnClickListener { 
private Button btnSure,btnRadio,btnCheck,btnList,btnMy; 
private String[] sexList={" "," "};//     
private String[] likeList={"  ","  ","   ","   ","   "};//     
private String[] itemList={"    ","  ","  ","  ","   "};//   
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
getId();//    id 
click();//         
} 
/*    id*/ 
private void getId() { 
btnSure = (Button) findViewById(R.id.btnSure); 
btnRadio=(Button) findViewById(R.id.btnRadio); 
btnCheck=(Button) findViewById(R.id.btnCheck); 
btnList=(Button) findViewById(R.id.btnList); 
btnMy=(Button) findViewById(R.id.btnMy); 
} 
/*        */ 
private void click() { 
btnSure.setOnClickListener(this); 
btnRadio.setOnClickListener(this); 
btnCheck.setOnClickListener(this); 
btnList.setOnClickListener(this); 
btnMy.setOnClickListener(this); 
} 
@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
getMenuInflater().inflate(R.menu.main, menu); 
return true; 
} 
@Override 
public void onClick(View view) { 
switch (view.getId()) { 
case R.id.btnSure: 
showDialog1();//      
break; 
case R.id.btnRadio: 
showDialog2();//      
break; 
case R.id.btnCheck: 
showDialog3();//      
break; 
case R.id.btnList: 
showDialog4(); 
break; 
case R.id.btnMy: 
showDialog5(); 
break; 
} 
} 
/*     */ 
private void showDialog1() { 
AlertDialog.Builder builder=new AlertDialog.Builder(this); 
builder.setTitle("     ");//     
builder.setIcon(R.drawable.ic_launcher);//     
builder.setMessage("         ");//     
/*               */ 
builder.setPositiveButton("  ",new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface arg0, int arg1) { 
Toast.makeText(MainActivity.this,"       ",Toast.LENGTH_SHORT).show(); 
} 
}); 
/*               */ 
builder.setNegativeButton("  ",new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface arg0, int arg1) { 
Toast.makeText(MainActivity.this,"       ",Toast.LENGTH_SHORT).show(); 
} 
}); 
AlertDialog dialog=builder.create();//  dialog 
dialog.show();//      
} 
/*     */ 
private void showDialog2() { 
AlertDialog.Builder builder=new AlertDialog.Builder(this); 
builder.setTitle("  ");//     
builder.setIcon(R.drawable.ic_launcher);//     
/*          ,           (-1     ),         */ 
builder.setSingleChoiceItems(sexList,-1,new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
String sex=sexList[which]; 
Toast.makeText(MainActivity.this,"      "+sex, Toast.LENGTH_SHORT).show(); 
} 
}); 
/*              */ 
builder.setNegativeButton("  ",new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
dialog.dismiss();//      
} 
}); 
AlertDialog dialog=builder.create();//  dialog 
dialog.show();//      
} 
/*     */ 
private void showDialog3() { 
AlertDialog.Builder builder=new AlertDialog.Builder(this); 
builder.setTitle("  ");//     
builder.setIcon(R.drawable.ic_launcher);//     
/*          ,             null,   -1*/ 
builder.setMultiChoiceItems(likeList,null,new DialogInterface.OnMultiChoiceClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which, boolean isChecked) { 
if(isChecked){ 
Toast.makeText(MainActivity.this,"   "+likeList[which],Toast.LENGTH_SHORT).show(); 
}else{ 
Toast.makeText(MainActivity.this,"    "+likeList[which],Toast.LENGTH_SHORT).show(); 
} 
} 
}); 
/*              */ 
builder.setNegativeButton("  ",new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
dialog.dismiss();//      
} 
}); 
AlertDialog dialog=builder.create();//  dialog 
dialog.show();//      
} 
/*     */ 
private void showDialog4() { 
AlertDialog.Builder builder=new AlertDialog.Builder(this); 
builder.setTitle("    ");//     
builder.setIcon(R.drawable.ic_launcher);//     
builder.setItems(itemList,new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
Toast.makeText(MainActivity.this,"    "+itemList[which],Toast.LENGTH_SHORT).show(); 
} 
}); 
AlertDialog dialog=builder.create();//  dialog 
dialog.show();//      
} 
/*      */ 
private void showDialog5() { 
LayoutInflater inflater=LayoutInflater.from(this); 
View view=inflater.inflate(R.layout.dialog,null);//        
AlertDialog.Builder builder=new AlertDialog.Builder(this); 
builder.setTitle("      ");//     
builder.setIcon(R.drawable.ic_launcher);//     
builder.setView(view);//              
AlertDialog dialog=builder.create();//  dialog 
dialog.show();//      
} 
}
4.운행 중 목표 효과 가 나타 납 니 다.
Android 에서 AlertDialog 의 각종 대화 상자 사용법 에 대해 이렇게 많이 소개 해 드 리 니 도움 이 되 셨 으 면 좋 겠 습 니 다!

좋은 웹페이지 즐겨찾기