我熟悉为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
对于普通设备
答案 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{
}