Dialog的基础使用形式

xiaoxiao2021-02-28  44

1、双选项Dialog

2、三选项Dialog

3、列表Dialog

4、单选Dialog

5、多选Dialog

6、等待Dialog

7、进度条Dialog

8、输入框Dialog

9、自定义Dialog

<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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" android:orientation="vertical" tools:context="com.example.admin.vip_09.MainActivity"> <Button android:id="@+id/dialog1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="双选项Dialog" android:textAllCaps="false" /> <Button android:id="@+id/dialog2" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="三选项Dialog" android:textAllCaps="false" /> <Button android:id="@+id/dialog3" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="列表Dialog" android:textAllCaps="false" /> <Button android:id="@+id/dialog4" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="单选Dialog" android:textAllCaps="false" /> <Button android:id="@+id/dialog5" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="多选Dialog" android:textAllCaps="false" /> <Button android:id="@+id/dialog6" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="等待Dialog" android:textAllCaps="false" /> <Button android:id="@+id/dialog7" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="进度条Dialog" android:textAllCaps="false" /> <Button android:id="@+id/dialog8" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="输入Dialog" android:textAllCaps="false" /> <Button android:id="@+id/dialog9" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="自定义Dialog" android:textAllCaps="false" /> </LinearLayout> public class MainActivity extends AppCompatActivity { private AlertDialog.Builder mBuilder; private String[] listItem = {"选项1", "选项2", "选项3", "选项4"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.dialog1).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mBuilder = new AlertDialog.Builder(MainActivity.this); mBuilder.setTitle("一个普通双选项的Dialog"); mBuilder.setMessage("啦啦啦,嘤嘤嘤"); mBuilder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); mBuilder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); //false : 按空白部分不能取消Dialog,必须选择两个Button中的其中一个。 mBuilder.setCancelable(false); mBuilder.show(); } }); findViewById(R.id.dialog2).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mBuilder = new AlertDialog.Builder(MainActivity.this); mBuilder.setTitle("一个普通双选项的Dialog"); mBuilder.setMessage("啦啦啦,嘤嘤嘤"); mBuilder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); mBuilder.setNeutralButton("咦", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); mBuilder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); //false : 按空白部分不能取消Dialog,必须选择两个Button中的其中一个。 mBuilder.setCancelable(false); mBuilder.show(); } }); findViewById(R.id.dialog3).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mBuilder = new AlertDialog.Builder(MainActivity.this); mBuilder.setTitle("我是列表Dialog"); mBuilder.setItems(listItem, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "你点击了" + listItem[which], Toast.LENGTH_SHORT).show(); } }); mBuilder.show(); } }); findViewById(R.id.dialog4).setOnClickListener(new View.OnClickListener() { int choice = -1; @Override public void onClick(View v) { mBuilder = new AlertDialog.Builder(MainActivity.this); mBuilder.setTitle("我是单选的Dialog"); //checkedItem为默认第一次进入的选项,从0~n-1,-1为不选择。 mBuilder.setSingleChoiceItems(listItem, 0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { choice = which; Toast.makeText(MainActivity.this, "你选择了" + listItem[which], Toast.LENGTH_SHORT).show(); } }); mBuilder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "你选择了" + listItem[choice], Toast.LENGTH_SHORT).show(); } }); mBuilder.show(); } }); findViewById(R.id.dialog5).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mBuilder = new AlertDialog.Builder(MainActivity.this); mBuilder.setTitle("我是一个多选的Dialog"); final ArrayList<String> arrayList = new ArrayList(); //初始值为false,默认不选中选项,切记不要数组越界,与选项数组对应 boolean[] choiceSet = {false, false, false, false}; mBuilder.setMultiChoiceItems(listItem, choiceSet, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { if(isChecked) { arrayList.add(listItem[which] + " "); } } }); mBuilder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { String str = ""; for(int i = 0; i < arrayList.size(); i++) { str = str + arrayList.get(i); } Toast.makeText(MainActivity.this,"你选择了" + str, Toast.LENGTH_SHORT).show(); } }); mBuilder.show(); } }); findViewById(R.id.dialog6).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ProgressDialog progressDialog = new ProgressDialog(MainActivity.this); progressDialog.setTitle("我是等待的Dialog"); progressDialog.setMessage("等待中...."); progressDialog.setIndeterminate(false); progressDialog.setCancelable(true); progressDialog.show(); } }); findViewById(R.id.dialog7).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { final int max = 100; final ProgressDialog progressDialog = new ProgressDialog(MainActivity.this); progressDialog.setTitle("我是一个进度条Dialog"); progressDialog.setProgress(0); progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); progressDialog.setMax(max); progressDialog.show(); //不要忘记start!!!! new Thread(new Runnable() { @Override public void run() { int progress = 0; try { while (progress < max) { Thread.sleep(500); progress++; progressDialog.setProgress(progress); } } catch (InterruptedException e) { e.printStackTrace(); } progressDialog.dismiss(); } }).start(); } }); findViewById(R.id.dialog8).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mBuilder = new AlertDialog.Builder(MainActivity.this); final EditText editText = new EditText(MainActivity.this); editText.setHint("请输入...."); mBuilder.setTitle("我是一个可输入的Dialog"); mBuilder.setView(editText); mBuilder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this,editText.getText().toString(), Toast.LENGTH_SHORT).show(); } }); mBuilder.show(); } }); findViewById(R.id.dialog9).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mBuilder = new AlertDialog.Builder(MainActivity.this); mBuilder.setTitle("我是一个自定的Dialog"); mBuilder.setView(R.layout.layout_dialog); mBuilder.setPositiveButton("可爱", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); mBuilder.setNeutralButton("不可爱", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); mBuilder.show(); } }); } }
转载请注明原文地址: https://www.6miu.com/read-2624991.html

最新回复(0)