[英]TextSize for different device with different size?
如何在屏幕大小不同的不同設備上支持文本大小? 我嘗試為不同的屏幕提供不同維度的xml,但無法有效運行。
值值-大值-較小值-sw600dp值-sw720dp值-sw800dp
試試這個庫,可能對您有幫助。 CommonTextSize
在您的布局中像這樣添加提及尺寸android:textSize="@dimen/_15sdp"
當您具有值值-大值-小值-sw600dp值-sw720dp值-sw800dp等文件夾時,您的方法是准確的。 但是我認為您缺少更改values/dimens.xml values-large/dimens.xml values-small/dimens.xml values-sw600dp/dimens.xml values-sw720dp/dimens.xml values-sw800dp/dimens.xml
。
例如,您在values / dimens.xml中使用了如dimens.xml
下面的內容
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="text_size">18sp</dimen>
</resources>
在其他值文件夾中,您需要更改文本大小的值,也請對文本大小使用sp
而不是px或dp。
請注意,在蜂窩之后描述了values values-large values-small
values- values values-large values-small
-small。
您也可以按照其他答案中的建議使用該庫。但是,如果您不想使用額外的庫,請嘗試此方法。
以編程方式
這是一種根據屏幕尺寸將dp
的尺寸轉換為尺寸的方法。
public float convertFromDp(int input) {
final float scale = getResources().getDisplayMetrics().density;
return ((input - 0.5f) / scale);
}
現在,只需以編程方式將值賦予textsize即可。
tvTextView1.setTextSize(convertFromDp(24));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.