【问题标题】:TextView Dimensions - Phones and TabletsTextView 尺寸 - 手机和平板电脑
【发布时间】:2016-02-01 12:27:11
【问题描述】:

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

举个例子,我在下面的 dimens.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 中的文本大小,例如:

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

【问题讨论】:

  • 为什么它被否决了?

标签: android xml textview dimensions


【解决方案1】:

是否有任何逻辑(计算)可以在 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();

公共浮动getTextSize()

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

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

if(size>)
{
}
else{
}

【讨论】:

    猜你喜欢
    • 2012-12-09
    • 2012-02-10
    • 1970-01-01
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多