[英]TextView Dimensions - Phones and Tablets
I am familiar with setting different - different dimensions for Android Phones and Tablets 我熟悉为Android手机和平板电脑设置不同的尺寸-不同的尺寸
for an example I have used below dimens.xml in values: 例如,我在dimens.xml下面使用了值:
<dimen name="text_size">18sp</dimen>
structure: 结构体:
res/values/dimens.xml
res/values-small/dimens.xml
res/values-normal/dimens.xml
res/values-large/dimens.xml
res/values-xlarge/dimens.xml
Now I just want to know, Is there any logic (calculation) to give text sizes in dimens.xml
for all android devices, like: 现在我只想知道, 是否有任何逻辑(计算)可为所有android设备在
dimens.xml
提供文本大小,例如:
If I have provided 18sp
in values/dimens.xml
then how could I understand that I have to use 30sp
for tablets, 14sp
for small devices, 16sp
for normal devices 如果我提供
18sp
中values/dimens.xml
话,怎么可能我明白我必须使用30sp
为平板电脑, 14sp
为小型设备, 16sp
正常设备
Is there any logic (calculation) to give text sizes in dimens.xml for all android devices ? 是否有任何逻辑(计算)可为所有android设备在dimens.xml中提供文本大小?
You can use DisplayMetrics
logic . 您可以使用
DisplayMetrics
逻辑。
A structure describing general information about a display, such as its size, density, and font scaling.
描述有关显示器的一般信息的结构,例如其大小,密度和字体缩放。
DisplayMetrics metrics = getResources().getDisplayMetrics(); int DeviceTotalWidth = metrics.widthPixels; int DeviceTotalHeight = metrics.heightPixels;
Now 现在
TextView Tv_App_Title = (TextView)findViewById(R.id.App_Title);
Tv_App_Title.setTextSize(DeviceTotalHeight/8);
Edit 编辑
Tv_App_Title.getMeasuredHeight(); //get height
Tv_App_Title.getMeasuredWidth(); // get Width
float size = TvObj.getTextSize();
public float getTextSize ()
公共浮动getTextSize()
Added in API level 1 Returns the size (in pixels) of the default text size in this TextView.
API级别1中添加的值返回此TextView中默认文本大小的大小(以像素为单位)。
Now according to your question add logic 现在根据您的问题添加逻辑
if(size>)
{
}
else{
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.