在Android上使TextView具有滚动功能

8 浏览
0 Comments

在Android上使TextView具有滚动功能

我正在一个TextView中显示文本,这个文本似乎太长无法在一个屏幕上显示完全。我需要让我的TextView可以滚动。我该怎么做呢?

以下是代码:

final TextView tv = new TextView(this);
tv.setBackgroundResource(R.drawable.splash);
tv.setTypeface(face);
tv.setTextSize(18);
tv.setTextColor(R.color.BROWN);
tv.setGravity(Gravity.CENTER_VERTICAL| Gravity.CENTER_HORIZONTAL);
tv.setOnTouchListener(new OnTouchListener() {
    public boolean onTouch(View v, MotionEvent e) {
        Random r = new Random();
        int i = r.nextInt(101);
        if (e.getAction() == e.ACTION_DOWN) {
            tv.setText(tips[i]);
            tv.setBackgroundResource(R.drawable.inner);
        }
        return true;
    }
});
setContentView(tv);

admin 更改状态以发布 2023年5月23日
0
0 Comments

这是我纯粹使用XML如何实现的方法:



    
        
    

注:

  1. android:fillViewport="true"结合android:layout_weight="1.0"可使TextView占用所有可用空间。

  2. 在定义Scrollview时,不要指定android:layout_height="fill_parent",否则滚动视图无法工作!(这让我刚刚浪费了一个小时!天哪)。

专业提示:

要在追加文本后以编程方式滚动到底部,请使用以下代码:

mTextStatus = (TextView) findViewById(R.id.TEXT_STATUS_ID);
mScrollView = (ScrollView) findViewById(R.id.SCROLLER_ID);
private void scrollToBottom()
{
    mScrollView.post(new Runnable()
    {
        public void run()
        {
            mScrollView.smoothScrollTo(0, mTextStatus.getBottom());
        }
    });
}

0
0 Comments

实际上你不需要使用ScrollView

只需在你的布局XML文件中设置你的TextView

android:scrollbars = "vertical"

属性。

然后在你的代码中使用:

yourTextView.setMovementMethod(new ScrollingMovementMethod());

它就会滚动了!

0