我是使用多个屏幕的新手,需要以下帮助:
我有 2 台设备:
三星S4
- 显示等级:正常
- 最小宽度:360dp
- 分辨率:1080 * 1920
- 密度等级:XXHDPI
- 密度:442dpi
三星平板电脑:
- 显示类:大
- 最小宽度:600dp
- 分辨率:600 * 1024
- 密度等级:MDPI
- 密度:168dpi
我的问题是两个设备的值都是从同一个维度文件中提取的。
- 如果我有小文本,在手机上看起来还可以,但在平板电脑上太小了
- 如果我有大文本,在平板电脑上看起来还可以,但在手机上太小了
你能告诉我每个值目录的名称应该是什么吗?
我努力了:
值-sw360dp-xxhdpi 值-sw600dp-mdpi
然而,这并没有什么不同。
我有一个方法:
public void setTextSize(Context context, TextView view, int textSizeInSp)
{
float spToPixel= TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, textSizeInSp, context.getResources().getDisplayMetrics());
view.setTextSize(convertSpToPixels(spToPixel, getApplicationContext()));
}
我有 2 个维度文件条目:
值-sw360dp-xxhdpi\dimens
<dimen name="font_english_large">20sp</dimen>
值-sw600dp-mdpi\dimens
<dimen name="font_english_large">32sp</dimen>
我以编程方式尝试通过调用来更改文本大小:
setTextSize(this, textView, (int)getResources().getDimension(R.dimen.font_english_large);
谢谢你。