通过用户选择增加和减少 android 应用程序的字体大小
Posted
技术标签:
【中文标题】通过用户选择增加和减少 android 应用程序的字体大小【英文标题】:Increasing and Decreasing the font sizes of the android application by user selection 【发布时间】:2015-08-01 04:07:09 【问题描述】:实际上我想通过用户选择在我的应用程序中指定自定义文本大小。下面是一个展示想法/主题的图
所以,为此我有一个想法来实现这一点。
我将在视图中创建一个对话框,其中包含用户输入选项来增加/减少字体大小。更改字体大小后,我将其应用于应用程序。 (+) & (-) 符号也可以改变字体大小和搜索栏。
我的问题是构建 android 类/库中是否有任何特定的字体样式/大小更改/任何其他想法可用?
任何帮助将不胜感激。意思是我会带着我尝试的东西来。谢谢你
【问题讨论】:
【参考方案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);
);
【讨论】:
以上是关于通过用户选择增加和减少 android 应用程序的字体大小的主要内容,如果未能解决你的问题,请参考以下文章