缩放文本化以适应不同的屏幕尺寸

时间:2012-09-18 07:03:11

标签: android

我有一些布局,我想将textize调整为屏幕尺寸。我使用sp来表示我的所有尺寸,但是当我切换到我的平板电脑时,我的文字看起来仍然很小。

是否有一个共同的比例公式或者其他东西可以简单地执行此操作?

3 个答案:

答案 0 :(得分:1)

尝试View.getHeight()View.getWidth()并相应地应用您的逻辑。

使用此:

Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
int width = display.getWidth(); 
int height = display.getHeight();

要获得以英寸为单位的屏幕尺寸,请尝试:

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
double x = Math.pow(dm.widthPixels/dm.xdpi,2);
double y = Math.pow(dm.heightPixels/dm.ydpi,2);
double screenInches = Math.sqrt(x+y);
Log.d("debug","Screen inches : " + screenInches);

答案 1 :(得分:0)

使用dip代替sp,但我确定默认的文本大小取决于其容器,例如textView或Button

答案 2 :(得分:0)

你可以使用

android:textSize="dip"

例如。 10 dip,20 dip