2016-04-24 12 views
1

ユーザーがスクロールするときにRelativeLayoutの高さを変更しようとしているので、スムーズに上に移動します。それはちょっと働いていますが、そのすべてがちらつき、グリッチしています。スクロールビューでユーザーがスクロールするときにRelativeLayoutの高さを変更します

私はsetTranslationYを使用しようとしましたが、RelativeLayoutでscrollviewを移動しません。

int top = mScrollView.getScrollY(); 
int maxRelative = formulas.dpToPx(250); 
int actualRelative = (int)((1.0-((float)top)/300.0)*((float)maxRelative)); 
RelativeLayout.LayoutParams layout_description = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, 
          actualRelative); 
mCollapsingLayout.setLayoutParams(layout_description); 
        mCollapsingLayout.requestLayout(); 

これは、あなたがスクロールすると、その感謝をRelativeLayoutを縮小するためにどのように任意のより良いアイデアを持っている場合、それは

http://imgur.com/7PL6Yt5

をどのように見えるかです。

編集:ここにあなたが配置する必要があり、私のxml

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="@dimen/app_bar_height" 
    android:id="@+id/collapsing.view"> 

    <ImageView 
     android:id="@+id/collapsing.view.image" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:src="@drawable/theflash" 
     android:tint="#7F000000" 
     android:scaleType="centerCrop"/> 
    <ImageButton 
     android:id="@+id/favorite.button" 
     android:layout_width="70dp" 
     android:layout_height="70dp" 
     android:background="?android:attr/selectableItemBackground" 
     android:scaleType="fitCenter" 
     android:layout_centerHorizontal="true" 
     android:layout_alignParentBottom="true" 
     android:layout_marginBottom="30dp" 
     android:src="@drawable/favorite_button" 
     /> 
    <FrameLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:paddingBottom="30px"> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="The Flash" 
      android:textColor="#fff" 
      android:textSize="25sp" 
      android:layout_centerInParent="true" 
      /> 
    </FrameLayout> 
</RelativeLayout> 

<ScrollView 
    android:id="@+id/detail.scrollview" 
    android:layout_below="@+id/collapsing.view" 
    android:layout_width="match_parent" 
    android:fillViewport="true" 
    android:layout_height="match_parent"> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 
</LinearLayout> 
</ScrollView> 
+0

あなたは等々縮小テキストやのための部品を取り外す必要があるかもしれませんが、あなたが必要な場所それは右ですか? – Alex

+0

はい、メインポストにあります:) – Bartando

+0

'collapsing.view'全体のサイズを変更しようとしていますか、画像に視差効果を追加しようとしていますか? – Alex

答えて

1

だあなたScrollView内部RelativeLayoutと再setTranslationYを試してみてください - それは動作するはず

+0

私はこのアプローチを試してみましたが、うまくいくように微調整する必要があります。 – Bartando

1

のような容易に利用可能なクラスを含めこれにはいくつかのアプローチがありますが、 this oneこれは基本的にあなたが望むことをしています。それはあなたがあなたのレイアウトxmlファイルを共有することができenter image description here

+0

これは私が必要とするものです。 Appcompats CollapsingToolbarを使用したいのは、そのカスタマイズが酷いからです。私はこれに少し深く掘り下げようとします。ありがとうございました :) – Bartando

関連する問題