ScrollView(스크롤 막대)
이 섹션 소개:
이 섹션에서는 Android 기본 UI 컨트롤의 10번째인 ScrollView(스크롤 막대)를 제공합니다. 그렇지 않으면 전화해야 합니다. 다른 가로 스크롤 막대에 해당하는 세로 스크롤 막대: HorizontalScrollView, 먼저 공식 문서를 보내겠습니다. 링크: ScrollView, 클래스의 구조는 다음과 같습니다.
이것은 FrameLayout 컨테이너로 밝혀졌지만 그 위에 스크롤이 추가되어 더 많은 콘텐츠를 표시할 수 있습니다. 실제보다!
또한 내부에는 하나의 하위 요소만 배치할 수 있습니다. 이는 단일 구성 요소일 수도 있고 레이아웃에 포함된 복잡한 계층 구조일 수도 있습니다!
일반적으로 디스플레이가 완전하지 않은 상황에서는 레이아웃의 외부 레이어에 직접 배치할 수 있습니다. ScrollView 또는 수평ScrollView! 참 간단해요~!
만날 수 있는 몇 가지 요구 사항
좋아, 문서를 하나씩 공제하지 말고 실제 개발에서 만날 수 있는 몇 가지 요구 사항에 대해 이야기해 보겠습니다.
또 다른 일반적인 문제는 ScrollView 및 ListView 중첩 문제입니다. ListView 장 설명해 보겠습니다~
1. 아래쪽으로 스크롤:
코드예시:ScrollView에서 제공하는 fullScroll() 메서드 를 직접 사용할 수 있습니다:
scrollView.fullScroll(ScrollView.FOCUS_DOWN); scrollView.fullScroll(ScrollView.
FOCUS_UP); 위로 스크롤그리고 이 것 사용시 비동기적인 부분에 주의하세요. 즉, View를 추가한 후에는 완전히 표시되지 않을 수도 있습니다. 이때 이 메소드를 직접 호출하면 유효하지 않을 수 있으므로 핸들러를 직접 작성하여 업데이트해야 합니다~
Rendering:
Implementation code:
레이아웃이 비교적 간단해서 더 이상 게시하지 않고 MainActivity
MainActivity.java만 게시합니다. if (offset < 0) { Horizontal 3.슬라이더 숨기기 좋아요, 이건 쓸모없어 보입니다.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
setContentView(R.layout.activity_main);
bindViews();
}
private void bindViews() {
btn_down = (버튼) findViewB yId(R.id.btn_down);
btn_up = (버튼 ) findViewById(R.id.btn_up);
scrollView = (ScrollView) findViewById(R.id.scrollView);
txt_show = (TextView) findViewById(R.id.txt_show);
btn_down.set OnClickListener(this);
btn_up .setOnClickListener(this);
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 100; i++) {
sb.append("呵呵 * " + i + 'n'); ㅋㅋㅋ 케이스 R.id.btn_down:
scrollView .fullScroll(ScrollView.FOCUS_DOWN);
break;
case R.id.btn_up:
scrollView.fullScroll(ScrollView.FOCUS_UP);
break, = 새로운 핸들러 ();
mhandler.post (new runnable () {
public void run () {
if (scroll == null || Inner == null) {
});
}
scrollTo
( ) 매개변수는 다음과 같습니다. x, y를 차례로 누르고 해당 x, y 위치로 굴립니다!
2. 스크롤 슬라이더 이미지를 설정하세요
더 쉽습니다:
Vertical
scrollbarThumbHorizontal
4.스크롤 속도 설정:
두 가지 방법이 있습니다:
1.android:scrollbars="none"2.Java 코드 설정: scrollview.setVerticalScrollBarEnabled(false);
이것은 직접 설정할 수 있는 메서드를 제공하지 않습니다. , 직접 ScrollView를 상속받은 다음 다시 작성해야 합니다.
public void fling 방법(int speedY): @Override
public void fling(int velocityY) {
super.fling(velocityY / 2); //速度变为原来的一半
}
이 섹션 요약:
좋아요. 제가 생각할 수 있는 ScrollView 항목은 너무 많습니다. 왜냐하면 이 항목은 많이 사용되지 않고 일반적으로 그냥 배치되기 때문입니다. 밖의. 그 외에 가장 흔히 발생하는 문제는 대개 ScrollView와 ListView의 중첩입니다. 추가할 사항이 있으면 언제든지 문의해 주세요. 감사합니다~