如何在 HorizontalScrollView 中适配 TextView 的文字
How to fit the TextView text in HorizontalScrollView
嗯,如果文本太大,我在 HorizontalScrollView
中使用了 TextView
来滚动文本。但不幸的是,文本没有正确对齐 - 如果文本很大,则留下大量文本会被隐藏。
布局:
<HorizontalScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/retBal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:lines="1"
android:scrollHorizontally="true"
android:singleLine="true"
android:text="Amount is being processed.."
android:textColor="@color/_2ndGray"
android:textSize="17sp"
android:textStyle="bold" />
</HorizontalScrollView>
在activity class:
TextView txtVwRetBal = (TextView)findViewById(R.id.retBal);
txtVwRetBal.setText("Balance is xyz11111111122222222222222333333333444444444555555555666666666677777777788888pqr");
如何解决?
除了使用 HorizontalScrollView
,您还可以在 TextView
中设置 属性 使其水平滚动
android:scrollbars = "horizontal"
然后在您的 java class 中执行此操作
textView.setMovementMethod(new ScrollingMovementMethod());
为什么要在外面使用水平滚动?正如@Vishwajit Palankar 所说,只需在您的文本视图中添加一个水平滚动条。另外在 xml 布局文件中添加 android:ellipsize="none" 和 android:singleLine="true"。
例如:
<TextView
android:id="@+id/txt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="none"
android:scrollbars="horizontal"
android:singleLine="true" />
并在 java 文件中启动 TextView 并添加 scrollingMovementMethod()
TextView txtv = (TextView)findViewById(R.id.txt1);
txtv.setMovementMethod(new ScrollingMovementMethod());
txtv.setText("balance is : " + "mnp111111111111122222222222222222222333333333333333333333333333xyz ");
嗯,如果文本太大,我在 HorizontalScrollView
中使用了 TextView
来滚动文本。但不幸的是,文本没有正确对齐 - 如果文本很大,则留下大量文本会被隐藏。
布局:
<HorizontalScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/retBal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:lines="1"
android:scrollHorizontally="true"
android:singleLine="true"
android:text="Amount is being processed.."
android:textColor="@color/_2ndGray"
android:textSize="17sp"
android:textStyle="bold" />
</HorizontalScrollView>
在activity class:
TextView txtVwRetBal = (TextView)findViewById(R.id.retBal);
txtVwRetBal.setText("Balance is xyz11111111122222222222222333333333444444444555555555666666666677777777788888pqr");
如何解决?
除了使用 HorizontalScrollView
,您还可以在 TextView
中设置 属性 使其水平滚动
android:scrollbars = "horizontal"
然后在您的 java class 中执行此操作
textView.setMovementMethod(new ScrollingMovementMethod());
为什么要在外面使用水平滚动?正如@Vishwajit Palankar 所说,只需在您的文本视图中添加一个水平滚动条。另外在 xml 布局文件中添加 android:ellipsize="none" 和 android:singleLine="true"。
例如:
<TextView
android:id="@+id/txt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="none"
android:scrollbars="horizontal"
android:singleLine="true" />
并在 java 文件中启动 TextView 并添加 scrollingMovementMethod()
TextView txtv = (TextView)findViewById(R.id.txt1);
txtv.setMovementMethod(new ScrollingMovementMethod());
txtv.setText("balance is : " + "mnp111111111111122222222222222222222333333333333333333333333333xyz ");