通过用户选择增大和减小 android 应用程序的字体大小
Increasing and Decreasing the font sizes of the android application by user selection
实际上我想通过用户选择在我的应用程序中指定自定义文本大小。下图展示了 idea/theme
所以,为此我有一个实现这个的想法。
我将在视图中创建一个对话框,其中包含用于增大/减小字体大小的用户输入选项。更改字体大小后,我会将其应用于应用程序。 (+) & (-) 标志将用于更改字体大小以及搜索栏。
我的问题是构建 android class / 库中是否有任何特定的字体样式/大小更改/是否有其他可用的想法?
如有任何帮助,我们将不胜感激。意思是虽然我会带来一些我尝试过的东西。谢谢
要增加 textView
的大小,您可以使用
_percentField.setTextSize(values[0]*2);
其中 values
是一个数组。
要减少你可以试试
_percentField.setTextSize(values[0]/2);
你可以查看
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;
}
}
};
你可以试试这个-
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, <font-size value in integer> );
// to update your changes
textView.invalidate();
您可以通过以下方式轻松完成此操作:
//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);
}
});
这样做
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);
实际上我想通过用户选择在我的应用程序中指定自定义文本大小。下图展示了 idea/theme
所以,为此我有一个实现这个的想法。
我将在视图中创建一个对话框,其中包含用于增大/减小字体大小的用户输入选项。更改字体大小后,我会将其应用于应用程序。 (+) & (-) 标志将用于更改字体大小以及搜索栏。
我的问题是构建 android class / 库中是否有任何特定的字体样式/大小更改/是否有其他可用的想法?
如有任何帮助,我们将不胜感激。意思是虽然我会带来一些我尝试过的东西。谢谢
要增加 textView
的大小,您可以使用
_percentField.setTextSize(values[0]*2);
其中 values
是一个数组。
要减少你可以试试
_percentField.setTextSize(values[0]/2);
你可以查看
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;
}
}
};
你可以试试这个-
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, <font-size value in integer> );
// to update your changes
textView.invalidate();
您可以通过以下方式轻松完成此操作:
//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);
}
});
这样做
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);