要求:设计如下界面,包括图片按钮、复选按钮、单选按钮、普通按钮,单击按钮弹出对话框,运行效果如下:
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的实现方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考。
本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。
我来说两句