1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 android:orientation="vertical">
6 <TextView
7 android:id="@+id/tv"
8 android:layout_width="match_parent"
9 android:layout_height="wrap_content"
10 android:gravity="center"
11 android:text="单选对话框"
12 android:layout_marginTop="10dp"
13 android:textSize="20sp"
14 android:textColor="#FFFDB371"/>
15 <Button
16 android:id="@+id/bt"
17 android:layout_width="wrap_content"
18 android:layout_height="wrap_content"
19 android:text="设置字体大小"
20 android:layout_marginTop="20dp"
21 android:layout_gravity="center"/>
22 </LinearLayout>
1 package cn.itcast.singlechoicedialog;
2 import android.app.AlertDialog;
3 import android.content.DialogInterface;
4 import android.support.v7.app.AppCompatActivity;
5 import android.os.Bundle;
6 import android.view.View;
7 import android.widget.TextView;
8 public class MainActivity extends AppCompatActivity implements View.OnClickListener
9 {
10 private TextView textView;
11 private int[] textSizeArr = {10,20,25,30,40};
12 int textSize = 1;
13 @Override
14 protected void onCreate(Bundle savedInstanceState) {
15 super.onCreate(savedInstanceState);
16 setContentView(R.layout.activity_main);
17 //设置Button监听事件
18 findViewById(R.id.bt).setOnClickListener(this);
19 textView = (TextView) findViewById(R.id.tv);
20 }
21 @Override
22 public void onClick(View v) {
23 AlertDialog dialog;
24 AlertDialog.Builder builder = new AlertDialog.Builder(this)
25 .setTitle("设置字体大小") //设置标题
26 .setIcon(R.mipmap.ic_launcher)
27 .setSingleChoiceItems(new String[]{"小号", "默认", "中号", "大号",
28 "超大"}, textSize,new DialogInterface.OnClickListener() {
29 public void onClick(DialogInterface dialog, int which) {
30 textSize = which;
31 }
32 })
33 .setPositiveButton("确定", new DialogInterface.OnClickListener() {
34 @Override
35 public void onClick(DialogInterface dialog, int which) {
36 //为TextView设置在单选对话框中选择的字体大小
37 textView.setTextSize(textSizeArr[textSize]);
38 dialog.dismiss(); //关闭对话框
39 }
40 })//添加“确定”按钮
41 .setNegativeButton("取消", new DialogInterface.OnClickListener() {
42 @Override
43 public void onClick(DialogInterface dialog, int which) {
44 dialog.dismiss();
45 }
46 });
47 dialog = builder.create();
48 dialog.show();
49 }
50 }