我有一个包含线性布局的 ScrollView。线性布局包含多个 TextView ,所有 TextView 的底部 25% 的文本都被切除(见图)。我希望文本完全可见,没有滚动条可见。
此时我的假设是水平滚动条占据了该空间。
我已经隐藏了滚动条本身(根据需要),但它原来所在的空白区域遮挡了 ScrollView 中的文本。
- 以编程方式禁用滚动条不起作用。
- 增加线性布局的布局边距没有效果。
- 增加 ScrollView 的内边距没有效果。
这是我的布局中的相关 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>
最佳答案
看起来您正在使用填充。尝试从底部移除填充物。如果您想保留内边距,请将高度从 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>
现在根据您的需要选择合适的解决方案。
关于Android 水平滚动条正在剪切文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8497767/