2016-09-25 118 views
2

嘿,我在一個Activity中實現了一個NestedScrollView,但是我不能像在ScrollView中那樣顯示滾動條,可以嗎?如何在NestedScrollView中顯示滾動條

我該如何展示它?

<android.support.v4.widget.NestedScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_below="@+id/appBar"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:clipChildren="false" 
      android:clipToPadding="false" 
      android:orientation="vertical" 
      android:paddingLeft="@dimen/dimen_2" 
      android:paddingRight="@dimen/dimen_2"> 
     </LinearLayout> 
</android.support.v4.widget.NestedScrollView> 
+1

你已經知道答案了,你寫了這個任務離子並同時回答。請不要這樣做! – rupinderjeet

回答

0

我找到了解決辦法,首先設置NestedScrollView行爲「@字符串/ appbar_scrolling_view_behavior」然後,我創建了一個風格展現在我需要它的所有NestedScrollViews滾動條。

styles.xml

<resources> 
    <!-- other styles --> 

    <style name="NestedScrollBarStyle"> 
     <item name="android:scrollbarFadeDuration">2</item> 
     <item name="android:scrollbars">vertical</item> 
     <item name="android:fillViewport">true</item> 
     <item name="android:orientation">vertical</item> 
    </style> 
</resources> 

佈局:

<android.support.v4.widget.NestedScrollView 
    style="@style/NestedScrollBarStyle" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_below="@+id/appBar" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:clipChildren="false" 
     android:clipToPadding="false" 
     android:orientation="vertical" 
     android:paddingLeft="@dimen/dimen_2" 
     android:paddingRight="@dimen/dimen_2"> 
    </LinearLayout> 
</android.support.v4.widget.NestedScrollView> 
+1

謝謝,兩點評論:1.你認爲2毫秒是'scrollbarFadeDuration'的一個很好的默認值嗎? Android 6.0上的ScrollView使用250毫秒(確認'Log.d(TAG,「」+(new ScrollView(this))。getScrollBarFadeDuration());')。 2.你真的需要設置'app:layout_behavior'嗎?在我的測試中,這個設置是無關緊要的。 –

+0

我也可以確認app不需要layout_behavior屬性,250ms是一種更自然的淡入淡出時間。看到我的答案更簡單的解決方案。 –

1

使用的android:滾動條屬性。

如:

機器人:滾動條= 「垂直」

機器人:滾動條= 「水平」

機器人:滾動條= 「垂直|水平」

<android.support.v4.widget.NestedScrollView 
    android:id="@+id/foo" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:scrollbars="vertical"> 

</android.support.v4.widget.NestedScrollView> 

文檔鏈接:https://developer.android.com/reference/android/view/View.html#attr_android:scrollbars