如何在Horizo​​ntalScrollView中拟合TextView文本

Ras*_*dul 1 android textview horizontalscrollview

好吧,如果文字太大,我会在TextView里面HorizontalScrollView滚动文字.但不幸的是,文本没有正确对齐 - 如果文本很大,则会留下很多文本.

布局:

  <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>
Run Code Online (Sandbox Code Playgroud)

在活动类中:

TextView txtVwRetBal = (TextView)findViewById(R.id.retBal);

txtVwRetBal.setText("Balance is xyz11111111122222222222222333333333444444444555555555666666666677777777788888pqr"); 
Run Code Online (Sandbox Code Playgroud)

怎么解决?

Sha*_*san 5

为什么你需要在外面使用水平滚动?只需在textview中添加一个水平滚动条 - 正如@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" />
Run Code Online (Sandbox Code Playgroud)

并在java文件中启动TextView并添加scrollingMovementMethod()

 TextView txtv = (TextView)findViewById(R.id.txt1);
 txtv.setMovementMethod(new ScrollingMovementMethod());
 txtv.setText("balance is : " + "mnp111111111111122222222222222222222333333333333333333333333333xyz ");
Run Code Online (Sandbox Code Playgroud)