我有一些布局,我想将我的文本大小调整为屏幕大小。我对所有尺寸都使用了 sp,但是当我切换到平板电脑时,我的文字看起来仍然很小。
是否有一个通用的比例公式或其他东西可以简单地做到这一点?
我有一些布局,我想将我的文本大小调整为屏幕大小。我对所有尺寸都使用了 sp,但是当我切换到平板电脑时,我的文字看起来仍然很小。
是否有一个通用的比例公式或其他东西可以简单地做到这一点?
尝试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);
使用dip
而不是,sp
但我确定默认文本大小取决于其容器,例如 textView 或 Button
您可以使用
android:textSize="dip"
例如。10 dip,20 dip