Android Studio -为什么我的TextView在“设计视图”和模拟器中是合理的,而在实际设备中不是

von4xj4u  于 2023-01-03  发布在  Android
关注(0)|答案(1)|浏览(142)

我目前正在Android Studio上使用Java和XML开发一个应用。我在这篇文章中读到,我们可以使用以下属性调整TextView部分中的文本:

  • 安卓系统:对齐模式=“单词间”*

然而,由于一些未知的原因,当部署在我的设备上时,这似乎不起作用。我试着检查它是否也发生在AVD上,它没有,也没有发生在设计画布上,所以它可以在AVD和设计画布上工作,但不能在2个不同的实际移动的上工作。我也尝试过通过Java更改文本对齐,但它似乎忽略了 * 文本视图.设置调整模式(调整模式中间字);*
这是一个与build.gradle相关的问题吗?请让我知道,如果你们有任何想法可能导致这个问题。谢谢!
Ps:安卓手机版本:12和8; Android Studio版本:Android工作室花栗鼠|2021.2.1修补程序2
PS2:下面是应用程序中使用的XML文件。

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:justificationMode="inter_word"
            android:textColor="@color/black"
            android:textSize="15sp"
            android:layout_marginTop="5dp"
            android:padding="4dp"
            android:text="Donec mollis varius ullamcorper. Curabitur blandit nisl sapien, gravida pellentesque metus hendrerit non. Vivamus vitae faucibus dolor. Etiam sit amet hendrerit nulla. Ut blandit eu mi quis ultrices. Proin ut quam quis neque efficitur ultrices. Duis ut laoreet libero. Curabitur lacinia ligula augue, sed ornare elit tempor vel. Sed bibendum scelerisque suscipit. Donec metus neque, tincidunt a urna aliquet, sodales sodales felis. Nullam ultricies neque vel lorem cursus, eget dapibus massa condimentum. Praesent rhoncus dolor tortor, non sodales ante mattis id. Sed accumsan porta eleifend. "/>

    </RelativeLayout>

</RelativeLayout>

这是设计画布(和AVD)中的结果:

而这是在实际移动的中的结果:

70gysomp

70gysomp1#

justificationMode仅支持API级别26和更高级别,以使用以下方法在TextView中实现对齐

方法1:将minSdk从Gradle文件更改为26,但旧设备无法支持此IE API小于26

defaultConfig {
    applicationId "com.example.my_app"
    minSdk 26
    targetSdk 32
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

方法2:如果你需要支持旧的Android版本,JustifiedTextView就是你需要的。在使用JustifiedTextView之前使用这个依赖

实现'com.codesgood:已调整的文本视图:1.1.0'

<com.codesgood.views.JustifiedTextView
    android:id="@+id/tv_justified_paragraph"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:text="@string/lorem_ipsum_extended"
    android:textColor="@android:color/black"
    android:textSize="15sp" />

它在我的情况下工作,希望它在你的情况下工作得很好。

相关问题