我正在使用计算器。我注意到在默认的android calc中你可以水平滚动textview。我查看了文档,发现了属性android:scrollHorizontally
但是在将它添加到textview之后我仍然无法进行水平滚动,在文档中没有关于它的更多信息让我认为只添加attr应该满足。这是计算器的文本视图:
<TextView android:id="@+id/edit_text"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight=".8"
android:singleLine="true"
android:scrollHorizontally="true"
android:gravity="center|right"
android:text="0" />
当字符超出文本视图宽度时,字符串将被剪裁,并且...将显示在其结尾处。我做错了什么?
答案 0 :(得分:34)
<HorizontalScrollView android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="40dp"
android:layout_height="wrap_content"
android:scrollHorizontally="true"
android:text="Horizontal scroll view will work now"/>
</HorizontalScrollView>
这就是如何使textview水平滚动。
答案 1 :(得分:2)
只需使用此
textview.setMovementMethod(new ScrollingMovementMethod());
textview.setHorizontallyScrolling(true);
答案 2 :(得分:1)
我来晚了一点,但是我没有添加HorizontalScrollView
EditText
扩展了TextView
以支持滚动和选择。因此,您可以将EditText
用作TextView
(禁用触摸,焦点和光标)。
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent" --> This remove that line at the bottom
android:clickable="false" --> It can be true if you need to handle click events
android:cursorVisible="false" --> Hide the cursor
android:focusable="false" --> Disable focus
android:singleLine="true"
android:text="This is a very long text that won't be possible to display in a single line"/>
我只是无法在各种设备上进行测试...我只是在分享,因为它可能对其他人有用。
答案 3 :(得分:0)
可能是一个较晚的答案,但是可以使TextView双向滚动。无需在XML或代码中设置scrollHorizontally
属性。
以下代码根据文本内容使单行或多行TextView垂直和水平滚动。
<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/toolbar"
android:scrollbars="none">
<ScrollView
android:id="@+id/scroll_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:scrollbars="none">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/text_content"
fontPath="fonts/roboto_medium.ttf"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/primary_text"
android:textSize="14sp" />
</ScrollView>
</HorizontalScrollView>
请注意,layout_width
和ScrollView
的{{1}}设置为TextView
。 wrap_content
的宽度可以是HorizontalScrollView
或wrap_content
,并且无效。