TextView не переносит содержимое, когда текст переносится во второй строке - PullRequest
0 голосов
/ 13 июня 2019

Почему в TextView есть дополнительный пробел, когда текст переносится на вторую строку (выделено желтой рамкой на изображении ниже)? Как я могу удалить это?

enter image description here

Макет:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="2"
        android:background="@color/green"
>

    <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:orientation="horizontal"
            android:gravity="center"
            android:layout_weight="1"
        >

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="8dp"
                android:padding="0dp"
                android:layout_gravity="center"
                android:text="THIS IS FOOOOOOOOOOOOOOO"
                android:background="@color/red"
        />
    </LinearLayout>

    <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:orientation="horizontal"
            android:gravity="center"
            android:layout_weight="1"

    >

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="8dp"
                android:padding="0dp"
                android:layout_gravity="center"
                android:text="THIS IS FOOOOOOOOOOOOOOO"
                android:background="@color/red"
        />
    </LinearLayout>

</LinearLayout>

Ответы [ 2 ]

0 голосов
/ 14 июня 2019

Фактическая причина этого заключается в том, что вы указали android: layout_weight свойство LinearLayout.В соответствии с тем, что разделение макетов происходит, удалите android: layout_weight и проверьте следующее:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:background="@color/green">

    <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:orientation="horizontal"
            android:gravity="center">

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="8dp"
                android:padding="0dp"
                android:layout_gravity="center"
                android:text="THIS IS FOOOOOOOOOOOOOOO"
                android:background="@color/red"
        />
    </LinearLayout>

    <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:orientation="horizontal"
            android:gravity="center">

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="8dp"
                android:padding="0dp"
                android:layout_gravity="center"
                android:text="THIS IS FOOOOOOOOOOOOOOO"
                android:background="@color/red"
        />
    </LinearLayout>

</LinearLayout>
0 голосов
/ 14 июня 2019

Можно попробовать грубую силу. Сначала разбейте текст на строки. Зациклите их, измерьте ширину, если не превышает ширину textView, добавьте к строителю строки, если больше ширины textView, измерьте символ за символом, если не превысите, добавьте к строителю строки, иначе добавьте «\ n» к строителю строки. Получите строку этим построителем и установите для нее textView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...