android studio实现单选对话框,点击确定按钮之后,字体才发生变化
时间: 2023-05-27 09:04:38 浏览: 114
androidstudio最新版 实现ListView单选、多选效果最实用案例 亲试可用
以下是一种实现方式:
1. 在布局文件中添加一个Button并设置点击事件:
```xml
<Button
android:id="@+id/button_select_font"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="选择字体"
android:onClick="showFontDialog"/>
```
2. 在Activity中添加showFontDialog方法:
```java
public void showFontDialog(View view) {
final String[] fonts = {"宋体", "黑体", "微软雅黑"}; // 这里为了演示,只列出了三种字体
int checkedItem = 0; // 默认选中第一项
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("选择字体");
builder.setSingleChoiceItems(fonts, checkedItem, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// do nothing
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
ListView listView = ((AlertDialog) dialog).getListView();
int checkedItemPosition = listView.getCheckedItemPosition();
String selectedFont = fonts[checkedItemPosition];
// 在这里根据选中的字体修改文本字体
}
});
builder.setNegativeButton("取消", null);
builder.show();
}
```
3. 在确定按钮的点击事件中,获取选中的字体并修改文本的字体。这里只是演示修改TextView的字体,实际应用中需要根据具体需求进行修改:
```java
TextView textView = findViewById(R.id.text_view);
textView.setTypeface(Typeface.create(selectedFont, Typeface.NORMAL));
```
阅读全文