Android Textview 文本大小与 XML 和 Java 设置的不同
Android Textview text size is different as set by XML and Java
当我通过布局 XML 和 [=26= 设置 TextView 的文本大小时,我得到不同的文本大小]Java代码。我的布局如下所示。
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Some text"
android:textSize="18sp"/>
我尝试通过以下两种方式在 Java 中设置文本大小。
选项 1
TextView titleView = (TextView) view.findViewById(R.id.title);
titleView.setTextSize(18 * getResources().getDisplayMetrics().density);
选项 2
TextView titleView = (TextView) view.findViewById(R.id.title);
titleView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18);
Java 代码(选项 1 和 2)设置的文本大小比布局 XML 设置的文本大小大。我做错了什么?
您需要按屏幕密度减小尺寸
titleView.setTextSize(TypedValue.COMPLEX_UNIT_SP, (18 / getResources().getDisplayMetrics().density));
当我通过布局 XML 和 [=26= 设置 TextView 的文本大小时,我得到不同的文本大小]Java代码。我的布局如下所示。
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Some text"
android:textSize="18sp"/>
我尝试通过以下两种方式在 Java 中设置文本大小。
选项 1
TextView titleView = (TextView) view.findViewById(R.id.title);
titleView.setTextSize(18 * getResources().getDisplayMetrics().density);
选项 2
TextView titleView = (TextView) view.findViewById(R.id.title);
titleView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18);
Java 代码(选项 1 和 2)设置的文本大小比布局 XML 设置的文本大小大。我做错了什么?
您需要按屏幕密度减小尺寸
titleView.setTextSize(TypedValue.COMPLEX_UNIT_SP, (18 / getResources().getDisplayMetrics().density));