2016-01-12 12 views
5

AppBarLayoutのオフセットをプログラムで変更するにはどうすればよいですか?AppBarLayoutプログラムでオフセットを変更する

アクティビティが最初に読み込まれたときにAppBarLayout(部分的に展開された)に一定のオフセットが必要な場合、ユーザーはそれをさらに展開したり折りたたんだりすることができます。現在の動作は、アクティビティが最初にロードされたときに完全に展開されていることです。

my.xml

<android.support.design.widget.AppBarLayout 
     android:id="@+id/app_bar_layout" 
     android:layout_width="match_parent" 
     android:layout_height="300dp" 
     android:fitsSystemWindows="true" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/collapsing_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:clickable="true" 
      android:fitsSystemWindows="true" 
      app:expandedTitleMarginEnd="64dp" 
      app:expandedTitleMarginStart="48dp" 
      app:layout_collapseParallaxMultiplier="0.7" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

      <FrameLayout 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       app:layout_collapseMode="parallax"> 

       <ImageView 
        android:id="@+id/image" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:scaleType="centerCrop" 
        android:src="@drawable/pic"/> 

       <View 
        android:id="@+id/overlay" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:background="@drawable/overlay" 
        app:layout_collapseMode="pin"/> 
      </FrameLayout> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       app:layout_collapseMode="pin" 
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
       app:title="@string/app_name"/> 

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

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

は、APIに16+

感謝をサポートする必要があります!

答えて

2

使用この:ScrollableAppBar

あなただけであなたのAppBarLayoutを交換する必要があります。

<it.michelelacorte.scrollableappbar.ScrollableAppBar 
android:id="@+id/appbar" 
android:layout_width="match_parent" 
android:layout_height="380dp" 
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
android:fitsSystemWindows="true"> 
</it.michelelacorte.scrollableappbar.ScrollableAppBar> 

とより:

ScrollableAppBar appBarLayout = (ScrollableAppBar) findViewById(R.id.appbar); 

//To give the effect "in the middle" of the image (like gif) 
appBarLayout.collapseToolbar(); 

出力:

enter image description here

+0

こんにちはMichele、あなたの返信をありがとう!それは仕事をする!しかし、私はAPI 16+をサポートする必要があります、私はそれに応じて私の質問を更新しました。 –

+0

私はそれが可能です@AdamGhani –

+1

それはどのようにwhatsappは、ユーザーのプロファイルで、ありがとう –

関連する問題