Почему не совпадает размер текста при задании через xml и код?

Создал файл ресурсов res/value/dimens. В него добавил строку

<dimen name="size">20dp</dimen>

В макете создал два TextView. Для одного размер указал в макете

android:textSize="20dp"

Для другого размер указал в активити

float size;
size = this.getResources().getDimension(R.dimen.size);
textView.setTextSize(size);

Я надеялся получить две надписи одинакового размера. Но оказалось, что размер textView у которой размер указан в активности в 2 раза больше, чем у первой. Если я меняю строку строку в dimens на

<dimen name="size">10dp</dimen>

Тогда размеры одинаковы. Подскажите, в чём моя ошибка?

Вот мой макет целиком:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:text="TextView"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView" />
/>
</androidx.constraintlayout.widget.ConstraintLayout>

Ответы (0 шт):