2010-06-23 7 views
46

아무도 안드로이드에 대한 모든 문서를 알고 있습니까 : scrollbarStyle? 가능한 경우 스크린 샷이있는 4 가지 값의 예를보고 싶습니다. 내부의 차이점은 & 내부 유형을 참조하십시오. 그러나 인셋 &은 무엇에 관한 것입니까? 나는 차이점을 보는 것 같지 않다 insideOutset & insideInset 예를 들어, 마찬가지로, 나는 차이점을 볼 수 없다 outsideOutset & outsideOutset.android ListView scrollbarStyle

미리 감사드립니다. 벤

답변

58

outsideOutset 및 insideOutset과 같은 값은 없습니다. 가능한 네 개의 값은 http://developer.android.com/reference/android/view/View.html#attr_android:scrollbarStyle

http://developer.android.com/reference/android/view/View.html#SCROLLBARS_INSIDE_INSET

나는 문서를 제대로 이해할 수 없었다

insideOverlay, insideInset, outsideOverlay, outsideInset
문서 두 개의 링크를 아래에있다 ...

있습니다. ApiDemos Scrollbar 데모에서 레퍼런스를 얻었습니다. 그러나 insideInset 및 outsideOverlay에는 차이가 없음을 발견했습니다.
이 두 값은 DIFF 있습니다, 하나는

업데이트 scrollbar3.xml은 모두 오버레이 삽입 된 또는 해야

누군가가 이것을보고 명확히 희망
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical"> 

<ScrollView 
    android:id="@+id/view1" 
    android:layout_width="100dip" 
    android:layout_height="120dip" 
    android:padding="8dip" 
    android:scrollbarStyle="insideOverlay" 
    android:background="@android:color/white" 
    android:overScrollMode="never"> 
    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:textColor="#ffffff" 
     android:background="@android:color/darker_gray" 
     android:text="@string/scroll_text" /> 
</ScrollView> 

<ScrollView 
    android:id="@+id/view2" 
    android:layout_width="100dip" 
    android:layout_height="120dip" 
    android:padding="8dip" 
    android:scrollbarStyle="insideInset" 
    android:background="@android:color/white" 
    android:overScrollMode="never"> 
    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:textColor="#ffffff" 
     android:background="@android:color/darker_gray" 
     android:text="@string/scroll_text" /> 
</ScrollView> 

<ScrollView 
    android:id="@+id/view3" 
    android:layout_width="100dip" 
    android:layout_height="120dip" 
    android:padding="8dip" 
    android:scrollbarStyle="outsideOverlay" 
    android:background="@android:color/white" 
    android:overScrollMode="never"> 
    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:textColor="#ffffff" 
     android:background="@android:color/darker_gray" 
     android:text="@string/scroll_text" /> 
</ScrollView> 

<ScrollView 
    android:id="@+id/view4" 
    android:layout_width="100dip" 
    android:layout_height="120dip" 
    android:padding="8dip" 
    android:scrollbarStyle="outsideInset" 
    android:background="@android:color/white" 
    android:overScrollMode="never"> 
    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:textColor="#ffffff" 
     android:background="@android:color/darker_gray" 
     android:text="@string/scroll_text" /> 
</ScrollView></LinearLayout> 

...

Screenshot for the View Scrollbar styles

172

다음은 좀 더 자세한 예입니다. 나는 여기에서 무슨 일이 벌어지고 있는지 더 분명하게하기 위해 배경색을 설정했다.

Android scrollBarStyle settings visualized

첫째, 색상 :

  • 블랙 - 마진
  • 흰색 - 패딩
  • 회색 -
  • 녹색있는 ScrollView의 내용 - 스크롤 경우을 자신의 공간을 차지한다 (필자는 이것을 두 개의 "삽입 된"exampl에 대해 scrollbarTrackVertical으로 명시 적으로 추가했다. ES)

는 이제 두 개의 섹션 정의 할 수 있습니다 :

  • "내용 영역"- 스크롤 뷰에 표시 할 물건을
  • "패딩"- 스크롤 뷰
  • 의 콘텐츠에 공간

의 별도로 scrollBarStyle의 두 부분에 대해 생각해 보자

  • inside - 스크롤은

  • outside (내용과 스크롤 모두 주위에 패딩 랩) 내부의 콘텐츠 영역을 표시 - 스크롤 외부나타나는 내용 영역

  • overlay -은 스크롤바가있는 섹션의 오른쪽 가장자리를 오버레이합니다.

  • inset - 스크롤 막대가 해당 섹션을 왼쪽으로 밀어냅니다 t는 자신의 공간을 차지

레이아웃 XML은

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#000" 
    > 

    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:scrollbarStyle="insideOverlay" 
     android:background="#fff" 
     android:fadeScrollbars="false" 
     android:layout_margin="8dp" 
     android:padding="16dp" > 
      <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#aaa" > 
       <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideOverlay"/> 
       <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideOverlay"/> 
       <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideOverlay"/> 
       <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideOverlay"/> 
       <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideOverlay"/> 
       <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideOverlay"/> 
       <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideOverlay"/> 
      </LinearLayout> 
    </ScrollView> 

    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:scrollbarStyle="insideInset" 
     android:background="#fff" 
     android:scrollbarTrackVertical="@drawable/green_block" 
     android:fadeScrollbars="false" 
     android:layout_margin="8dp" 
     android:padding="16dp" > 

     <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#aaa" > 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="insideInset" /> 
     </LinearLayout> 

    </ScrollView> 
    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:scrollbarStyle="outsideOverlay" 
     android:background="#fff" 
     android:fadeScrollbars="false" 
     android:layout_margin="8dp" 
     android:padding="16dp" > 

     <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#aaa" > 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideOverlay" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideOverlay" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideOverlay" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideOverlay" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideOverlay" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideOverlay" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideOverlay" /> 
     </LinearLayout> 

    </ScrollView> 
    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:background="#fff" 
     android:layout_weight="1" 
     android:scrollbarStyle="outsideInset" 
      android:scrollbarTrackVertical="@drawable/green_block" 
     android:fadeScrollbars="false" 
     android:layout_margin="8dp" 
     android:padding="16dp" > 

     <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#aaa" > 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideInset" /> 
      <TextView android:textSize="32sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="outsideInset" /> 
     </LinearLayout> 
    </ScrollView> 
</LinearLayout> 
아래에 나타납니다