如何根据 Android 的分辨率调整 TextView 的大小

How to put a TextView resize depending on the resolution of Android

我这里有问题,我刚刚开始 android 开发,我刚刚进入 Windows Phone,当我在屏幕上放入 WP 一些 TextView 时,他将在其他屏幕上以相同的方式,但在 android 中不是。我想知道在 XML 中是否有一些代码我可以定义位置而不改变! 这是我的 XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".Home"
android:background="@drawable/background">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Recife +"
    android:textSize="40dp"
    android:textColor="@android:color/white"
    android:layout_marginTop="40dp"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:fontFamily=""
    android:id="@+id/textView" />
<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Horários, Rotas e Informações"
    android:textSize="25dp"
    android:textColor="@android:color/white"
    android:layout_marginTop="100dp"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"

    android:autoText="false" />
<Button
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_marginTop="250dp"
    android:background="@drawable/trem"
    android:id="@+id/butaoMetro"
    />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="New Button"
    android:id="@+id/button"
    android:layout_below="@+id/butaoMetro"
    android:layout_alignEnd="@+id/textView" />

我该如何解决这个问题?谢谢!

我认为这个库 autofit-textview 可以帮助你。

但您需要将其包装到名为 AutiFitLayout 的自定义 FrameLayout 中。看看这个例子。

这里的问题是 android:textSize="25dp" 为任何分辨率设备设置固定。为了正确显示,您需要为各种分辨率设备创建布局。为此,您需要为不同分辨率的设备创建不同的布局文件夹并根据它进行匹配。希望这有助于