誰もがAndroid:scrollbarStyleのドキュメントを知っていますか?可能であれば、スクリーンショット付きの4つの値それぞれの例をご覧ください。外部の内部タイプとの違いがわかりますが、Inset Outsetパーツとは何ですか?たとえば、insideOutset insideInsetの違いは見られないようです。同様に、outsideOutset outsideOutsetの違いも見られません。
前もって感謝します!ベン
OutsideOutsetやinsideOutsetのような値はありません。可能な4つの値は、insideOverlay、insideInset、outsideOverlay、outsideInsetです。
次の2つのリンクにドキュメントがあります...
http://developer.Android.com/reference/Android/view/View.html#attr_Android:scrollbarStyle
http://developer.Android.com/reference/Android/view/View.html#SCROLLBARS_INSIDE_INSET
ドキュメントを正しく理解できませんでした。そこで、ApiDemos Scrollbarデモからの参照を使用して、これを試しました。しかし、insideInsetとoutsideOverlayに違いはないことがわかりました。
これらの2つの値はdiffです。どちらもInsetまたはOverlay
更新された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>
誰かがこれを見て明確にすることを願っています...
次に、もう少し詳細な例を示します。ここで何が起こっているかをより明確にするために、背景色を設定しました。
まず、色:
scrollbarTrackVertical
として明示的に追加しました)2つのセクションを定義しましょう。
scrollBarStyle
の2つの部分を別々に考えてみましょう。
inside
-スクロールバーが表示されます内部コンテンツ領域(コンテンツとスクロールバーの両方をパディングで囲みます)
outside
-スクロールバーが表示されます外側コンテンツ領域
overlay
-スクロールバーは、それが含まれるセクションの右端にオーバーレイします
inset
-スクロールバーは、それが入っているセクションを左に押し、独自のスペースを占有します
レイアウト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>
上記の回答は私にとってはうまくいきませんでしたので、次のことを思いつきました。
これがあなたが達成したいものである場合、ここに行きます:
ListView:
<ListView
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:scrollbarStyle="outsideOverlay"
Android:scrollbarThumbVertical="@drawable/scrollbar" />
スクロールバー描画可能:
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item
Android:drawable="@Android:color/transparent"
Android:width="20dp"/>
<item
Android:drawable="@Android:color/holo_red_dark"
Android:right="18dp" />
</layer-list>
この回答 に感謝