【发布时间】:2020-05-08 02:33:42
【问题描述】:
我有一个按钮(它是一个 Bootstrap 按钮,基于 com.beardedhen:androidbootstrap)。
这是xml文件中的布局宽度和高度:
android:layout_width="0dp"
android:layout_height="wrap_content"
我想要的是在方向改变时修改按钮文本的文本大小(并且还取决于各种屏幕大小)。
我想这样做是因为在横向上,按钮比纵向有更多空间。
我读到每次方向改变时都会调用 onCreate。
我在 onCreate 中使用以下代码:
DisplayMetrics dm = new DisplayMetrics();
float height = dm.heightPixels;
float width = dm.widthPixels;
BootstrapButton btn = findViewById(R.id.btn);
float density = getResources().getDisplayMetrics().density;
btn.setTextSize((width / density) / 32);
代码计算屏幕的宽度和高度,并相应地设置文本大小。 这样,我可以根据设备的屏幕及其方向(宽度变为高度,反之亦然)获得正确的文本大小。
问题是当方向改变时这段代码不起作用。
我错过了什么?
感谢大家的帮助。
【问题讨论】:
标签: android orientation text-size screen-density