Android-弹窗AlterDialog对话框使用全解析
生活随笔
收集整理的這篇文章主要介紹了
Android-弹窗AlterDialog对话框使用全解析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
主要方法:
| 設置對話框內容為簡單文本 |
| 對話款內容為簡單列表項 |
| 對話框內容為單選列表項 |
| 對話款內容為多選列表項 |
| 內容為自定義列表項 |
| 內容為自定義view |
?
六種樣式分析:
注:按鈕的點擊事件在 MainActivity 中聲明 MainActivity的 XML 在文末給出
一、顯示消息提示的對話框
效果:
實現方法:
建立?FirstService類?用于寫靜態方法
public class FirstService extends MainActivity{public static void simple(View scource ){AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.mMainActivity).setTitle("你好呀~")//設置對話框 標題.setIcon(R.drawable.seek02)//設置圖標.setMessage("the sentences you want to say");setPositiveButton(builder);//add 'yes' Button to AlertDialogsetNegativeButton(builder)//add 'no' Button to AlertDialog.create().show();}private static AlertDialog.Builder setPositiveButton(AlertDialog.Builder builder){// use 'setPositiveButton' method to add 'yes' Buttonreturn builder.setPositiveButton("yes", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.mMainActivity,"you click 'yes' button ",Toast.LENGTH_SHORT).show();}});}private static AlertDialog.Builder setNegativeButton(AlertDialog.Builder builder){// use 'setPositiveButton' method to add 'yes' Buttonreturn builder.setNegativeButton("no", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.mMainActivity,"you click 'no' button ",Toast.LENGTH_SHORT).show();}});} }在MainActivity中調用該方法:
public class MainActivity extends Activity {public static MainActivity mMainActivity;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mMainActivity = this;}public void send(View source){FirstService.simple(getWindow().getDecorView());} }二、列表項對話框
// 由于Dialog 本身原因 選完后 dialog會自動關閉 如果不想自動關閉,可以:不關閉方法
效果:
具體實現:
public class FirstService extends MainActivity{private static String[] items = new String[]{"I believe I can fly","Sunshine brightly","I love study Java","Wiw cool Dialog",};public static void simple(View scource ){AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.mMainActivity).setTitle("set your list Dialog's title here")//設置對話框 標題.setIcon(R.drawable.seek02)//設置圖標.setItems(items, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.mMainActivity,"you click '" + items[which] + "' button ",Toast.LENGTH_SHORT).show();return;}});setPositiveButton(builder);//add 'yes' Button to AlertDialogsetNegativeButton(builder)//add 'no' Button to AlertDialog.create().show();}private static AlertDialog.Builder setPositiveButton(AlertDialog.Builder builder){// use 'setPositiveButton' method to add 'yes' Buttonreturn builder.setPositiveButton("yes", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.mMainActivity,"you click 'yes' button ",Toast.LENGTH_SHORT).show();}});}private static AlertDialog.Builder setNegativeButton(AlertDialog.Builder builder){// use 'setPositiveButton' method to add 'yes' Buttonreturn builder.setNegativeButton("no", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.mMainActivity,"you click 'no' button ",Toast.LENGTH_SHORT).show();return;}});} }主活動中調用方法與(一)中類似,這里就不給出了了
三、單選列表對話框
具體調用方法:
public static void simple(View scource ){AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.mMainActivity).setTitle("單選列表對話框")//設置對話框 標題.setIcon(R.drawable.seek02)//設置圖標.setSingleChoiceItems(items, 1, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.mMainActivity,"you click '" + items[which] + "' button ",Toast.LENGTH_SHORT).show();}});setPositiveButton(builder);//add 'yes' Button to AlertDialogsetNegativeButton(builder)//add 'no' Button to AlertDialog.create().show();}其他部分代碼與 二 中相同,這里就不在給出
四、多選列表對話框
效果:
具體實現方法:
這里為了傳送數據 判斷用戶選了哪些選項 setPositiveButton 進行了修改
public class FirstService extends MainActivity{private static String[] items = new String[]{"I believe I can fly","Sunshine brightly","I love study Java","Wiw cool Dialog",};private static boolean[] multiDialog = new boolean[]{false , true , false , true};public static void simple(View scource ){AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.mMainActivity).setTitle("單選列表對話框")//設置對話框 標題.setIcon(R.drawable.seek02)//設置圖標.setMultiChoiceItems(items, multiDialog ,null);setPositiveButton(builder);//add 'yes' Button to AlertDialogsetNegativeButton(builder)//add 'no' Button to AlertDialog.create().show();}private static AlertDialog.Builder setPositiveButton(AlertDialog.Builder builder){// use 'setPositiveButton' method to add 'yes' Buttonreturn builder.setPositiveButton("yes", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {for ( int i = 0 ; i < items.length ; i++ ){if (multiDialog[i]){Toast.makeText(MainActivity.mMainActivity,"you click '" + items[i] + "' button ",Toast.LENGTH_SHORT).show();}}}});}private static AlertDialog.Builder setNegativeButton(AlertDialog.Builder builder){// use 'setPositiveButton' method to add 'yes' Buttonreturn builder.setNegativeButton("no", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.mMainActivity,"you click 'no' button ",Toast.LENGTH_SHORT).show();return;}});} }調用方法在 一 中給出 這里不在給出
五、自定義列表項對話框
效果:
簡單實現:
public class FirstService extends MainActivity{private static String[] items = new String[]{"I believe I can fly","Sunshine brightly","I love study Java","Wiw cool Dialog",};public static void simple(View scource ){AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.mMainActivity).setTitle("單選列表對話框")//設置對話框 標題.setIcon(R.drawable.seek02)//設置圖標.setAdapter(new ArrayAdapter<String>(mMainActivity,R.layout.cell,items),null);setPositiveButton(builder);//add 'yes' Button to AlertDialogsetNegativeButton(builder)//add 'no' Button to AlertDialog.create().show();}private static AlertDialog.Builder setPositiveButton(AlertDialog.Builder builder){// use 'setPositiveButton' method to add 'yes' Buttonreturn builder.setPositiveButton("yes", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.mMainActivity,"you click 'yes' button ",Toast.LENGTH_SHORT).show();}});}private static AlertDialog.Builder setNegativeButton(AlertDialog.Builder builder){// use 'setPositiveButton' method to add 'yes' Buttonreturn builder.setNegativeButton("no", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.mMainActivity,"you click 'no' button ",Toast.LENGTH_SHORT).show();return;}});} }附上 /layout/cell 布局文件
<?xml version="1.0" encoding="utf-8"?> <TextViewandroid:id="@+id/cell"xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="15dp"android:orientation="vertical"> </TextView>六、自定義 View 對話框
效果:
具體實現方法:
public class FirstService extends MainActivity{private static TableLayout tableLayout;public static void simple(View scource ){tableLayout = (TableLayout) mMainActivity.getLayoutInflater().inflate(R.layout.cell,null);AlertDialog.Builder builder = new AlertDialog.Builder(mMainActivity).setTitle("單選列表對話框")//設置對話框 標題.setIcon(R.drawable.seek02)//設置圖標.setView(tableLayout);setPositiveButton(builder);//add 'yes' Button to AlertDialogsetNegativeButton(builder)//add 'no' Button to AlertDialog.create().show();}private static AlertDialog.Builder setPositiveButton(AlertDialog.Builder builder){// use 'setPositiveButton' method to add 'yes' Buttonreturn builder.setPositiveButton("yes", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {//do login operations hereToast.makeText(MainActivity.mMainActivity,"you info:" + tableLayout.toString(),Toast.LENGTH_SHORT).show();}});}private static AlertDialog.Builder setNegativeButton(AlertDialog.Builder builder){// use 'setPositiveButton' method to add 'yes' Buttonreturn builder.setNegativeButton("no", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {//do nothing hereToast.makeText(MainActivity.mMainActivity,"you click 'no' button ",Toast.LENGTH_SHORT).show();}});} }最后給出 cell.xml 布局:
<?xml version="1.0" encoding="utf-8"?> <TableLayoutandroid:id="@+id/cell"xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical"><TableRow><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:text="用戶名"android:textSize="10pt"/><!--Users can input personal info in here--><EditTextandroid:layout_width="match_parent"android:layout_height="wrap_content"android:hint="please input your account:"android:selectAllOnFocus="true"/><!--if you set selectAllOnFocus 'true' your keyboard will open--></TableRow><TableRow><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:text="Code"android:textSize="10pt"/><!--Users can input personal info in here--><EditTextandroid:layout_width="match_parent"android:layout_height="wrap_content"android:hint="please input your Code:"android:selectAllOnFocus="true"/></TableRow><TableRow><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:text="Phone"android:textSize="10pt"/><!--Users can input personal info in here--><EditTextandroid:layout_width="match_parent"android:layout_height="wrap_content"android:hint="please input your Phone number:"android:selectAllOnFocus="true"/></TableRow> </TableLayout>最后給出 MainActivity的布局文件:
<?xml version="1.0" encoding="utf-8" ?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/idtatabHost"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"><Buttonandroid:id="@+id/send"android:onClick="send"android:text="點我一下 有驚喜(嚇) 。。。"android:layout_width="match_parent"android:layout_height="wrap_content" /> </LinearLayout>可以看到 Button中?android:onClick="send"聲明了 它的點擊事件
總結
以上是生活随笔為你收集整理的Android-弹窗AlterDialog对话框使用全解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《Python数据分析与应用》第7章 机
- 下一篇: 二进制数转整数、整数转二进制数、二进制数