我正在显示文本的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);
我知道这是一篇较老的文章,但这就是我在Java方面处理这个问题的方式。
// Allow textView to scroll
tv.setSingleLine(true);
tv.setHorizontallyScrolling(true);
tv.setEllipsize(TextUtils.TruncateAt.MARQUEE);
tv.setMarqueeRepeatLimit(-1); // Infinite
// TextView must be 'selected'
tv.setSelected(true);
// Padding not necessary, but this helps so the text isn't right
// up against the side of a screen/layout
tv.setPadding(10, 0, 10, 0);
每当你需要使用ScrollView作为父,你也使用滚动移动的方法与TextView。
当你对你的设备进行竖屏时,会出现一些问题。(如)整个页面是可滚动的,但滚动移动方法不能工作。
如果你仍然需要使用ScrollView作为父或滚动移动方法,那么你也可以使用下面的描述。
如果你没有任何问题,那么你使用EditText而不是TextView
见下文:
<EditText
android:id="@+id/description_text_question"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:editable="false"
android:cursorVisible="false"
android:maxLines="6"/>
这里,EditText的行为类似于TextView
你的问题会解决的