首页 > 系统 > Android > 正文

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

2019-10-22 18:16:02
字体:
来源:转载
供稿:网友

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

Android,dialog

Android,dialog

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


注:相关教程知识阅读请移步到Android开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表