我有一些布局,我想将textize调整为屏幕尺寸。我使用sp来表示我的所有尺寸,但是当我切换到我的平板电脑时,我的文字看起来仍然很小。
是否有一个共同的比例公式或者其他东西可以简单地执行此操作?
答案 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