Android Textview文本大小与XML和Java设置的不同

时间:2015-10-28 10:59:28

标签: android android-layout textview android-xml

当我通过布局 XML Java 代码设置 TextView 的文字大小时,我会得到不同的文字大小。我的布局如下所示。

<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设置的文本大小大得多。我做错了什么?

1 个答案:

答案 0 :(得分:1)

您需要按屏幕密度缩小尺寸

titleView.setTextSize(TypedValue.COMPLEX_UNIT_SP, (18 / getResources().getDisplayMetrics().density));