日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android-弹窗AlterDialog对话框使用全解析

發布時間:2023/12/18 Android 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android-弹窗AlterDialog对话框使用全解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

主要方法:

setMessage()setItems()setSingleChoiceItems()setMultiChoiceItems()setAdapter()setView()
設置對話框內容為簡單文本
對話款內容為簡單列表項
對話框內容為單選列表項
對話款內容為多選列表項
內容為自定義列表項
內容為自定義view

?


六種樣式分析:

  • 顯示消息提示的對話框(例如:是否確認關閉)
  • 簡單列表對話框
  • 單選列表對話框
  • 多選列表對話框
  • 自定義對標對話框
  • 自定義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对话框使用全解析的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。