Android Горизонтальная полоса прокрутки обрезает текст - PullRequest
2 голосов
/ 14 декабря 2011

У меня есть ScrollView, который содержит линейный макет. Линейный макет содержит несколько текстовых представлений, у всех из которых нижние 25% текста обрезаются (см. Рисунок). Я хотел бы, чтобы текст был полностью видимым, без полосы прокрутки.

На данный момент я предполагаю, что горизонтальная полоса прокрутки занимает это место.

Я спрятал саму полосу прокрутки (по желанию), но пустое место, где она раньше была, закрывает текст в ScrollView.

  • Программное отключение полос прокрутки не работает.
  • Увеличение разметки линейного макета не имеет никакого эффекта.
  • Увеличение заполнения прокрутки не влияет.

enter image description here

Вот соответствующий xml из моего макета:

<HorizontalScrollView android:layout_alignParentLeft="true" android:layout_alignParentBottom="true" android:id="@+id/ValuePicker" android:layout_width="160dp" android:scrollbars="none" android:layout_height="40dp" android:paddingBottom="5dp">
    <LinearLayout android:orientation="horizontal" android:layout_height="40dp" android:id="@+id/ValueLayout" android:layout_width="fill_parent" android:layout_gravity="bottom">
        <TextView android:layout_gravity="left|center_vertical" android:textSize="25dp" android:layout_height="wrap_content" android:id="@+id/value1" android:layout_width="wrap_content" android:text="A" android:padding="8dp" android:clickable="true"></TextView>
        <TextView android:layout_gravity="left|center_vertical" android:text="2" android:scrollbarAlwaysDrawHorizontalTrack="false" android:id="@+id/value2" android:clickable="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="25dp" android:padding="8dp"></TextView>
        <TextView android:layout_gravity="left|center_vertical" android:textSize="25dp" android:layout_height="wrap_content" android:id="@+id/value3" android:layout_width="wrap_content" android:text="3" android:padding="8dp" android:clickable="true" android:scrollbarAlwaysDrawHorizontalTrack="false"></TextView>
        <TextView android:layout_gravity="left|center_vertical" android:textSize="25dp" android:layout_height="wrap_content" android:id="@+id/value4" android:layout_width="wrap_content" android:text="4" android:padding="8dp" android:clickable="true" android:scrollbarAlwaysDrawHorizontalTrack="false"></TextView>
        <TextView android:textSize="25dp" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_gravity="left|center_vertical" android:id="@+id/value5" android:text="5" android:padding="8dp" android:clickable="true" android:scrollbarAlwaysDrawHorizontalTrack="false"></TextView>
        <TextView android:textSize="25dp" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_gravity="left|center_vertical" android:id="@+id/value6" android:text="6" android:padding="8dp" android:clickable="true" android:scrollbarAlwaysDrawHorizontalTrack="false"></TextView>
        <TextView android:layout_height="wrap_content" android:clickable="true" android:padding="8dp" android:scrollbarAlwaysDrawHorizontalTrack="false" android:layout_gravity="left|center_vertical" android:textSize="25dp" android:id="@+id/value7" android:layout_width="wrap_content" android:text="7"></TextView>
        <TextView android:layout_height="wrap_content" android:clickable="true" android:padding="8dp" android:scrollbarAlwaysDrawHorizontalTrack="false" android:layout_gravity="left|center_vertical" android:textSize="25dp" android:id="@+id/value8" android:layout_width="wrap_content" android:text="8"></TextView>
        <TextView android:layout_height="wrap_content" android:clickable="true" android:padding="8dp" android:scrollbarAlwaysDrawHorizontalTrack="false" android:layout_gravity="left|center_vertical" android:textSize="25dp" android:id="@+id/value9" android:layout_width="wrap_content" android:text="9"></TextView>
        <TextView android:layout_height="wrap_content" android:clickable="true" android:padding="8dp" android:scrollbarAlwaysDrawHorizontalTrack="false" android:layout_gravity="left|center_vertical" android:textSize="25dp" android:id="@+id/value10" android:layout_width="wrap_content" android:text="10"></TextView>
        <TextView android:layout_height="wrap_content" android:clickable="true" android:padding="8dp" android:scrollbarAlwaysDrawHorizontalTrack="false" android:layout_gravity="left|center_vertical" android:textSize="25dp" android:id="@+id/value11" android:layout_width="wrap_content" android:text="J"></TextView>
        <TextView android:layout_height="wrap_content" android:clickable="true" android:padding="8dp" android:scrollbarAlwaysDrawHorizontalTrack="false" android:layout_gravity="left|center_vertical" android:textSize="25dp" android:id="@+id/value12" android:layout_width="wrap_content" android:text="Q"></TextView>
        <TextView android:layout_height="wrap_content" android:clickable="true" android:padding="8dp" android:scrollbarAlwaysDrawHorizontalTrack="false" android:layout_gravity="left|center_vertical" android:textSize="25dp" android:id="@+id/value13" android:layout_width="wrap_content" android:text="K"></TextView>
    </LinearLayout>
</HorizontalScrollView>

Ответы [ 2 ]

2 голосов
/ 14 декабря 2011

Похоже, вы используете заполнение. Попробуйте удалить прокладку снизу. Если вы хотите сохранить отступы, увеличьте высоту с 40dp до 45dp.

Так что размер и отступы - это проблема.

Soln 1 (если вы можете увеличить размер):

Увеличьте размер HorizontalScrollView и LinearLayout до значения, подобного android:layout_height="60dp", чтобы текст не обрезался.

Soln 2 (если можно избавиться от вертикальных отступов):

Приведенная ниже компоновка отлично работает для 2, где я удалил вертикальное заполнение. Когда вы просто говорите padding = 5, это будет дополнять все вокруг.

        <TextView
            android:id="@+id/value2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left|center_vertical"
            android:clickable="true"
            android:paddingLeft="8dp"
            android:paddingRight="8dp"
            android:scrollbarAlwaysDrawHorizontalTrack="false"
            android:text="2"
            android:textSize="25dp" >
        </TextView>

Теперь выберите подходящий soln согласно вашим потребностям.

1 голос
/ 14 декабря 2011

Попробуйте.

<LinearLayout android:orientation="horizontal" android:layout_height="match_parent or fill_parent" android:id="@+id/ValueLayout" android:layout_width="fill_parent"> and remove the gravity.
...