TextView尺寸 - 手机和平板电脑

时间:2016-02-01 12:27:11

标签: android xml textview dimensions

我熟悉为Android手机和平板电脑设置不同的维度

我在下面的values.xml中使用了值:

<dimen name="text_size">18sp</dimen>

结构:

res/values/dimens.xml

res/values-small/dimens.xml

res/values-normal/dimens.xml

res/values-large/dimens.xml

res/values-xlarge/dimens.xml

现在我只想知道,是否有任何逻辑(计算)为所有Android设备提供dimens.xml中的文字大小,例如:

如果我在18sp中提供了values/dimens.xml,那么我怎么能理解我必须使用30sp用于平板电脑,14sp用于小型设备,16sp对于普通设备

1 个答案:

答案 0 :(得分:2)

是否有任何逻辑(计算)可以在dimens.xml中为所有Android设备提供文字大小?

您可以使用DisplayMetrics逻辑。

  

描述有关显示的一般信息的结构,例如   它的大小,密度和字体缩放。

    DisplayMetrics metrics = getResources().getDisplayMetrics();

    int DeviceTotalWidth = metrics.widthPixels;
    int DeviceTotalHeight = metrics.heightPixels;

立即

    TextView Tv_App_Title = (TextView)findViewById(R.id.App_Title);
    Tv_App_Title.setTextSize(DeviceTotalHeight/8);

修改

Tv_App_Title.getMeasuredHeight(); //get height
Tv_App_Title.getMeasuredWidth();  // get Width

<强> float size = TvObj.getTextSize();

  

public float getTextSize()

     

在API级别1中添加返回默认文本的大小(以像素为单位)   此TextView中的大小。

现在根据你的问题添加逻辑

if(size>)
{
}
else{
}