반응형
활동 시작시 ScrollView에서 맨 아래로 스크롤하는 방법
ScrollView에 일부 데이터를 표시하고 있습니다. 활동 시작 (onCreate 메서드)에서 ScrollView를 데이터로 채우고 맨 아래로 스크롤하고 싶습니다.
나는 getScrollView().fullScroll(ScrollView.FOCUS_DOWN)
. 이것은 버튼 클릭에 대한 작업으로 만들 때 작동하지만 onCreate 메서드에서는 작동하지 않습니다.
활동 시작시 ScrollView를 맨 아래로 스크롤하는 방법이 있습니까? 이는보기가 처음 표시 될 때 이미 맨 아래로 스크롤되었음을 의미합니다.
다음과 같이 수행해야합니다.
getScrollView().post(new Runnable() {
@Override
public void run() {
getScrollView().fullScroll(ScrollView.FOCUS_DOWN);
}
});
이렇게하면보기가 먼저 업데이트 된 다음 "새"맨 아래로 스크롤됩니다.
데이터가 추가 된 후 다음 코드를 넣으십시오.
final ScrollView scrollview = ((ScrollView) findViewById(R.id.scrollview));
scrollview.post(new Runnable() {
@Override
public void run() {
scrollview.fullScroll(ScrollView.FOCUS_DOWN);
}
});
이것은 나를 위해 작동합니다.
scrollview.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
scrollview.post(new Runnable() {
public void run() {
scrollview.fullScroll(View.FOCUS_DOWN);
}
});
}
});
레이아웃 파일에서이 작업을 수행 할 수 있습니다.
android:id="@+id/listViewContent"
android:layout_width="wrap_content"
android:layout_height="381dp"
android:stackFromBottom="true"
android:transcriptMode="alwaysScroll">
scrollView.postDelayed(new Runnable() {
@Override
public void run() {
scrollView.fullScroll(ScrollView.FOCUS_DOWN);
}
},1000);
뷰에 데이터를 추가 한 직후 다음 한 줄을 추가합니다.
yourScrollview.fullScroll(ScrollView.FOCUS_DOWN);
이 시도
final ScrollView scrollview = ((ScrollView) findViewById(R.id.scrollview));
scrollview.post(new Runnable() {
@Override
public void run() {
scrollview.fullScroll(ScrollView.FOCUS_DOWN);
}
});
After initializing your UI component and fill it with data. add those line to your on create method
Runnable runnable=new Runnable() {
@Override
public void run() {
scrollView.fullScroll(ScrollView.FOCUS_DOWN);
}
};
scrollView.post(runnable);
This is the best way of doing this.
scrollView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
scrollView.post(new Runnable() {
@Override
public void run() {
scrollView.fullScroll(View.FOCUS_DOWN);
}
});
}
});
반응형
'Programing' 카테고리의 다른 글
cURL을 통해 파일을 저장할 때 특정 파일 이름을 지정하는 방법이 있습니까? (0) | 2020.08.28 |
---|---|
TextBlock에서 텍스트 서식 지정 (0) | 2020.08.27 |
"x"라는 이름의 경로가 이미 경로 모음에 있습니다. (0) | 2020.08.27 |
Android 에뮬레이터에서 localhost를 어떻게 연결합니까? (0) | 2020.08.27 |
Android : 체크 박스 리스너 (0) | 2020.08.27 |