0

私はScrollViewを使って垂直にスクロールするカスタムビューを持っていますが、それをandroid.support.v7.widget.Toolbarの中に置くとスクロールしなくなります。私もNestedScrollViewを使用すると同じことが起こります。 Toolbarの中にScrollViewを使用することはできますか?そうでない場合は、同じことを達成するための代替アプローチがありますか?Androidツールバー内でScrollViewを使用できますか?

は、ここで私がやっているのいくつかのサンプルコードです:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true" 
tools:context="com.me.ExampleActivity"> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:paddingTop="@dimen/appbar_padding_top" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:minHeight="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:popupTheme="@style/AppTheme.PopupOverlay"> 

      <com.me.NormallyScrollableView 
       android:id="@+id/myView" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" /> 

     </android.support.v7.widget.Toolbar> 
    </android.support.design.widget.AppBarLayout> 
</android.support.design.widget.CoordinatorLayout> 

答えて

2

を使用することをお勧め、 AppBarLayoutではなくツールバーの中で目的のスクロールを取得するには、それを削除する必要があります。

あなたのビュー階層はこのようなものでなければなりません:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context="com.me.ExampleActivity"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:popupTheme="@style/AppTheme.PopupOverlay"> 

     <com.me.NormallyScrollableView 
      android:id="@+id/myView" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" /> 

    </android.support.v7.widget.Toolbar> 

    <!-- Have to create Margin, since AppBarLayout is not first view in Coordinator layout (which it expects) --> 
    <FrameLayout 
     android:layout_marginTop="?attr/actionBarSize" 
     android:layout_height="match_parent" 
     android:layout_width="match_parent"> 

    </FrameLayout> 

</android.support.design.widget.CoordinatorLayout> 

しかし、この時点で、CoordinatorLayoutアプリで、この画面のために役に立たないです...

ので、いくつかのアップ、とのことは不可能に設定したビュー階層。

Good Luck and Happy Coding!

0

私はそれはそれを行うことはできませんだと思うが、私は一言で言えば、この

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true" 
tools:context="com.me.ExampleActivity"> 

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:paddingTop="@dimen/appbar_padding_top" 
    android:theme="@style/AppTheme.AppBarOverlay"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:minHeight="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:popupTheme="@style/AppTheme.PopupOverlay"> 

    </android.support.v7.widget.Toolbar> 
</android.support.design.widget.AppBarLayout> 

<android.support.v4.widget.NestedScrollView 
android:id="@+id/nestedScrollView" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:layout_marginTop="@dimen/activity_horizontal_margin" 
android:padding="@dimen/activity_horizontal_margin" 
app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

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

関連する問題