通过onClick(你想要的事件),你可以编程地改变所需TextView的文本大小
例如:做一些像这样的事情
radioButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
text1.setTextSize(TypedValue.COMPLEX_UNIT_SP,14);
text2.setTextSize(TypedValue.COMPLEX_UNIT_SP,18);
text3.setTextSize(TypedValue.COMPLEX_UNIT_SP,22);
text4.setTextSize(TypedValue.COMPLEX_UNIT_SP,26);
}
});
试一下
你可以将所选文本大小保存在共享首选项中
public void showDialog()
{
final CharSequence[] items={"Use device font size","Tiny","Small","Normal","Huge"};
final CharSequence[] fontSize={"15","10","15","20","25"};
AlertDialog.Builder builder= new AlertDialog.Builder(this);
builder.setTitle("Font size");
builder.setPositiveButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
int i= sharedpreference.getInt("position", 0) ;
builder.setSingleChoiceItems(items,i, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
editor.remove("fontsize");
editor.remove("position");
editor.putFloat("fontsize",Float.parseFloat(fontSize[ which] .toString()));
editor.putInt("position", which);
editor.commit();
dialog.cancel();
}
});
builder.create();
builder.show();
}
并且动态设置TextView的大小
textview.setTextSize(sharedpreference.getFloat("fontsize", 15));
创建一个名为int size = 12
的变量;
实现对话框界面中Done
按钮的onClick事件,并使用if else梯形结构获取选定的单选按钮,然后根据需要设置变量值的大小。
然后使用text.setTextSize(size);
将此大小设置为您想要的TextView
。
在我的情况下它有效。