Android 多种dialog的实现方法(推荐)
作者:迟暮有话说
下面小编就为大家分享一篇Android 多种dialog的实现方法(推荐),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
要求:设计如下界面,包括图片按钮、复选按钮、单选按钮、普通按钮,单击按钮弹出对话框,运行效果如下:
string.xml文件源代码:
<resources> <string name="app_name">多种弹出对话框</string> <string name="dialog_img">图片按钮</string> <string name="dialog_radio">单选按钮</string> <string name="dialog_box">复选按钮</string> <string name="close">关闭</string> </resources>
布局文件源代码:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:id="@+id/img" android:layout_height="100dp" android:layout_width="100dp" android:src="@drawable/aa"/> <CheckBox android:id="@+id/Checkbox1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Chinese"/> <CheckBox android:id="@+id/Checkbox2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="English" android:checked="true"/> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="复选按钮确定"/> <RadioGroup android:id="@+id/radioGroup" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"> <RadioButton android:id="@+id/male" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="male" /> <RadioButton android:id="@+id/female" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:text="female"/> </RadioGroup> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="单选按钮确定"/> </LinearLayout>
java文件源代码:
package com.example.shiyan1_4; import android.app.Dialog; import android.content.DialogInterface; import android.preference.DialogPreference; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.ImageView; import android.widget.RadioButton; import android.widget.RadioGroup; import static android.R.attr.id; public class Shiyan1_4Activity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_shiyan1_4); ImageView img = (ImageView) findViewById(R.id.img); Button button1 = (Button) findViewById(R.id.button1); Button button2 = (Button) findViewById(R.id.button2); img.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AlertDialog.Builder dialog1 = new AlertDialog.Builder(Shiyan1_4Activity.this); dialog1.setTitle(R.string.dialog_img) .setMessage("您点击了图片按钮!") .setNegativeButton(R.string.close, null) .create() .show(); } }); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AlertDialog.Builder dialog1 = new AlertDialog.Builder(Shiyan1_4Activity.this); String str1 = ""; //获取复选按钮的值 CheckBox Checkbox1 = (CheckBox)findViewById(R.id.Checkbox1); if(Checkbox1.isChecked()){ str1 += Checkbox1.getText() + "is selected !"; } CheckBox Checkbox2 = (CheckBox)findViewById(R.id.Checkbox2); if(Checkbox2.isChecked()){ str1 += Checkbox2.getText() + " is selected !\n"; } dialog1.setTitle(R.string.dialog_box) .setMessage(str1) .setNegativeButton(R.string.close, null) .create() .show(); } }); button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AlertDialog.Builder dialog2 = new AlertDialog.Builder(Shiyan1_4Activity.this); String str2 = ""; //获取单选按钮的值 RadioGroup radioGroup = (RadioGroup)findViewById(R.id.radioGroup); for (int i = 0; i <radioGroup.getChildCount(); i++){ RadioButton radioButton = (RadioButton) radioGroup.getChildAt(i); if(radioButton.isChecked()){ str2 += radioButton.getText() + " is selected !"; break; } } dialog2.setTitle(R.string.dialog_radio) .setMessage(str2) .setNegativeButton(R.string.close, null) .create() .show(); } }); } }
以上这篇Android 多种dialog的实现方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。