【问题标题】:Increasing and Decreasing the font sizes of the android application by user selection通过用户选择增加和减少 android 应用程序的字体大小
【发布时间】:2015-08-01 04:07:09
【问题描述】:
实际上我想通过用户选择在我的应用程序中指定自定义文本大小。下面是一个展示想法/主题的图
所以,为此我有一个想法来实现这一点。
我将在视图中创建一个对话框,其中包含用户输入选项来增加/减少字体大小。更改字体大小后,我将其应用于应用程序。 (+) & (-) 符号也可以改变字体大小和搜索栏。
我的问题是构建 android 类/库中是否有任何特定的字体样式/大小更改/任何其他想法可用?
任何帮助将不胜感激。意思是我会带着我尝试的东西来。谢谢你
【问题讨论】:
标签:
android
textview
font-size
text-size
【解决方案1】:
你可以检查
btnTextDeSave.setOnClickListener(onClickEven);
btnTextInSave.setOnClickListener(onClickEven);
public OnClickListener onClickEven = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
break;
case R.id.btTextDeSave:
txtDescriptionSave.setTextSize(TypedValue.COMPLEX_UNIT_PX, (txtDescriptionSave.getTextSize() - 2f));
break;
case R.id.btTextInSave:
txtDescriptionSave.setTextSize(TypedValue.COMPLEX_UNIT_PX, (txtDescriptionSave.getTextSize() + 2f));
break;
default:
break;
}
}
};
【解决方案2】:
要增加textView 的大小,您可以使用
_percentField.setTextSize(values[0]*2);
其中values 是一个数组。
要减少你可以试试
_percentField.setTextSize(values[0]/2);
【解决方案3】:
你可以试试这个-
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, <font-size value in integer> );
// to update your changes
textView.invalidate();
【解决方案4】:
这样做
float fs = prefs.getFloat("fontsize", 12);
seekbar.setProgress((int)fs);
layout.setTextSize(TypedValue.COMPLEX_UNIT_PX,seekbar.getProgress());
别忘了 onProgressChanged:
layout.setTextSize(TypedValue.COMPLEX_UNIT_PX,progress);
【解决方案5】:
您可以通过以下方式简单地做到这一点:
//Adjust values with whatever your need is
int SIZE_LARGE = 24;
int SIZE_SMALL= 16;
btnLargeText.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, LARGE_SIZE);
}
});
btnSmallText.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, SIZE_SMALL);
}
});