【发布时间】:2012-12-29 19:32:30
【问题描述】:
我有一个 textView,其中的文本被动态分配给 textview。
我正在水平方向(从右到左)滚动文本视图。 我通过设置 TextView 的 X 坐标来进行滚动。
我的问题是, 对于超过屏幕宽度(LCD 宽度)的长文本,textview 仅显示单行范围内的文本,然后为其余文本创建一个新行。
但是,我希望文本只保留一行,并让它在屏幕上水平滚动。
【问题讨论】:
我有一个 textView,其中的文本被动态分配给 textview。
我正在水平方向(从右到左)滚动文本视图。 我通过设置 TextView 的 X 坐标来进行滚动。
我的问题是, 对于超过屏幕宽度(LCD 宽度)的长文本,textview 仅显示单行范围内的文本,然后为其余文本创建一个新行。
但是,我希望文本只保留一行,并让它在屏幕上水平滚动。
【问题讨论】:
在 XML 布局上将 singleLine 和 scrollHorizontally 设置为 true
<TextView
android:id="@+id/txt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollHorizontally="true"
android:singleLine="true"
android:text="TextView" />
设置 X 坐标不起作用,因为 TextView 是使用 LCD 的宽度构建的,您并没有真正滚动文本,只是移动视图。
【讨论】:
设置属性
android:singleLine="true"
文本视图
【讨论】:
您可以从右侧设置 Padding 属性,同时设置 TextView 或 Select Single line 属性的宽度
【讨论】:
试试这个
<HorizontalScrollView
android:layout_width="fill_parent"
android:layout_height="35dp"
android:layout_marginRight="10dp"
android:layout_marginTop="5dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:scrollbars="horizontal" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="35dp"
android:gravity="center" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:text=""
android:gravity="center"
/>
</LinearLayout>
</HorizontalScrollView>
希望对你有帮助
【讨论】:
你可以很容易地做到这一点,你只需要写。 .
android:singleLine="true"
这将允许您在适当范围内的 EditText 中写入大量数据。
【讨论】:
textview 在屏幕宽度上中断的问题是使用相对布局。
我将相对布局更改为线性布局,并将布局宽度设置为 5000dp,它起作用了。
【讨论】: