Android 多种dialog的实现方法(推荐)

时间:2021-05-21

要求:设计如下界面,包括图片按钮、复选按钮、单选按钮、普通按钮,单击按钮弹出对话框,运行效果如下:

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的实现方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章