android studio实现单选对话框,点击确定按钮之后字体才发生变化大小
时间: 2023-05-27 12:04:36 浏览: 190
1.首先,在布局文件中添加一个按钮,用于弹出单选对话框。
```
<Button
android:id="@+id/btn_choose_font_size"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Choose Font Size"/>
```
2. 在java代码中,创建一个字符串数组用于存储对话框中的选项。
```
final String[] fontSizes = {"Small", "Medium", "Large"};
```
3. 给按钮添加点击事件,弹出单选对话框。同时,通过SharedPreferences保存选择的字体大小。
```
// 点击按钮事件
Button btnChooseFontSize = findViewById(R.id.btn_choose_font_size);
btnChooseFontSize.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final SharedPreferences prefs = getSharedPreferences("Settings", MODE_PRIVATE);
// 获取当前保存的字体大小
int fontSize = prefs.getInt("FontSize", 16);
// 创建单选对话框
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("Choose Font Size");
builder.setSingleChoiceItems(fontSizes, fontSize / 16 - 1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 保存选中的字体大小
SharedPreferences.Editor editor = prefs.edit();
editor.putInt("FontSize", (which + 1) * 16);
editor.apply();
// 关闭对话框
dialog.dismiss();
}
});
builder.setNegativeButton("Cancel", null);
builder.show();
}
});
```
4. 在TextView中根据选中的字体大小显示文本。
```
TextView textView = findViewById(R.id.textView);
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, prefs.getInt("FontSize", 16));
```
这样,在单选对话框中选择字体大小之后,点击确定按钮才会保存选择的字体大小,并将文本的字体大小更改为选择的值。
阅读全文