在Android上使TextView具有滚动功能
在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日
这是我纯粹使用XML如何实现的方法:
注:
-
android:fillViewport="true"
结合android:layout_weight="1.0"
可使TextView占用所有可用空间。 -
在定义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()); } }); }