滚动查看 alawy 滚动到底部

2022-09-03 17:20:21

我在布局中使用文本编辑定义了一个滚动视图:

 <ScrollView android:fillViewport="true"
     android:layout_marginBottom="50dip"
     android:id="@+id/start_scroller"
     android:layout_height="fill_parent"
     android:layout_width="fill_parent"
     android:fadingEdge="none">
 <TextView  
    android:id="@+id/text"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" >
 </TextView>
 </ScrollView>

我使用以下方法将文本添加到此ScrollView中:

public void writeToLogView(String textMsg) {
   if (text.getText().equals("")) {
       text.append(textMsg);
   } else {
    text.append("\n" + textMsg);
    scroller.scrollBy(0, 1000000);
   }
}

如您所见,我附加文本并尝试滚动到ScrollView的底部。不幸的是,这不能正常工作。它会向下滚动,但并非总是向下滚动,也并非总是向下滚动。任何提示?


答案 1

或者在滚动视图中更改视图大小后使用:

scroller.post(new Runnable() { 
    public void run() { 
        scroller.fullScroll(ScrollView.FOCUS_DOWN); 
    } 
}); 

答案 2

追加文本后,请尝试使用 TextView 的尺寸来计算应滚动到的位置,而不是某个常量,如下所示:

scroller.post(new Runnable() {

    public void run() {
        scroller.scrollTo(text.getMeasuredWidth(), text.getMeasuredHeight());
    }
});

推荐