#android #android-layout #textview
#Android #android-макет #textview
Вопрос:
Я создал текстовое представление (в основном автоматически созданное помощником Android Studio ‘new Tabbed Activity‘) и заполнил его некоторым текстом, сохраненным в виде необработанных ресурсов. Я разрешил прокручивать представление, и все работает нормально, за исключением того, что последняя буква или две из многих строк исчезают с края экрана. То же самое с двумя устройствами с разными размерами экрана.
вот мой файл ресурсов:
<?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:id="@ id/constraintLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.main.PlaceholderFragment">
<TextView
android:id="@ id/section_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/activity_horizontal_margin"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:layout_marginEnd="@dimen/activity_horizontal_margin"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:textSize="20sp"
android:scrollbars = "vertical"
android:justificationMode="inter_word"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="@ id/constraintLayout"
tools:layout_constraintLeft_creator="1"
tools:layout_constraintTop_creator="1" />
</androidx.constraintlayout.widget.ConstraintLayout>
Я попытался увеличить поля (с 20 до 50dp) — никакого эффекта, а также попробовал android: gravity =»center», но это только ухудшило ситуацию!
[Редактировать] В результате предложенных ответов представление немного изменилось; в RHS появилось поле, поэтому текст больше не исчезает «за краем» экрана, но он исчезает «за» полем. Помогает ли это? Кроме того, имеет ли какое-либо отношение тот факт, что это действие с вкладками (как я упоминал ранее)? Если я прокручиваю вбок, чтобы увидеть следующую вкладку, недостающие части слов по-прежнему не отображаются.
Ответ №1:
Это происходит потому, что ваш TextView не ограничен правым краем родительских элементов.
Вы можете исправить это, добавив в свой TextView следующее
app:layout_constraintRight_toRightOf="parent"
Но вам следует избегать использования левого и правого в ваших макетах. Таким образом, правильным способом было бы добавить
app:layout_constraintEnd_toEndOf="parent"
А также измените width
0dp
, чтобы TextView мог занимать пространство, определенное ограничениями.
Комментарии:
1. Из-за этого LHS пропал без вести! Итак, я также добавил
app:layout_constraintStart_toStartOf="parent"
, и это немного улучшило ситуацию. Текст находится вплотную к краю экрана, хотя поля вообще не отображаются.2. Никаких изменений, извините!
Ответ №2:
Используйте app:layout_constrainedWidth="true"
в своем TextView с начальным и конечным ограничением, установленным на родительский.
Комментарии:
1. По-прежнему никакой реальной разницы. Я добавил еще немного информации; см. Мое недавнее редактирование