2016-07-07 4 views
2

最初の画面はart's detailです。スクロールすると、タイトルはalphaになります。もう1つの詳細UIにもう1つの「アート」をクリックして、前のUIに戻る。以前のUIのタイトルは黒で、透明になりました。アンドロイドのタイトルは他のタイトル(ツールバー)によって行われました

enter image description here

layout

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       xmlns:app="http://schemas.android.com/apk/res-auto" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:background="@color/bg_content"> 

    <RelativeLayout 
     android:id="@+id/rl_bottom_menu" 
     android:layout_width="match_parent" 
     android:layout_height="56dp" 
     android:layout_alignParentBottom="true" 
     android:background="@color/white"> 

     <TextView 
      android:id="@+id/tv_contact_service" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerVertical="true" 
      android:layout_marginLeft="16dp" 
      android:drawablePadding="3dp" 
      android:drawableTop="@mipmap/ic_service" 
      android:gravity="center" 
      android:text="客服" 
      android:textColor="#666" 
      android:textSize="9dp"/> 

     <TextView 
      android:id="@+id/tv_art_buy" 
      android:layout_width="92dp" 
      android:layout_height="36dp" 
      android:layout_alignParentRight="true" 
      android:layout_centerVertical="true" 
      android:layout_marginRight="15dp" 
      android:background="@drawable/selector_buy_bg" 
      android:clickable="true" 
      android:gravity="center" 
      android:text="立即购买" 
      android:textColor="@color/white" 
      android:textSize="14dp"/> 


     <TextView 
      android:id="@+id/tv_add_will_list" 
      android:layout_width="wrap_content" 
      android:layout_height="36dp" 
      android:layout_centerVertical="true" 
      android:layout_marginRight="5dp" 
      android:layout_toLeftOf="@id/tv_art_buy" 
      android:background="@drawable/selector_add_will_list_bg" 
      android:clickable="true" 
      android:drawableLeft="@mipmap/ic_like_yellow" 
      android:drawablePadding="2dp" 
      android:gravity="center" 
      android:paddingLeft="5dp" 
      android:paddingRight="5dp" 
      android:text="加入心愿单" 
      android:textColor="#ff9900" 
      android:textSize="14dp"/> 
    </RelativeLayout> 

    <View 
     android:id="@+id/divider" 
     android:layout_width="match_parent" 
     android:layout_height="1dp" 
     android:layout_above="@id/rl_bottom_menu" 
     android:background="@color/content_divider_color"/> 


    <com.hoolay.widget.ScaleImageRecyclerView 
     android:id="@+id/rv_art_detail" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_above="@id/divider"/> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar_art_detail" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="#1a1a1a" 
     android:contentInsetLeft="0dp" 
     android:contentInsetStart="0dp" 
     android:minHeight="?attr/actionBarSize" 
     android:visibility="visible" 
     app:contentInsetLeft="0dp" 
     app:contentInsetStart="0dp" 
     app:layout_scrollFlags="scroll|enterAlways"> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:paddingRight="15dp"> 

      <ImageView 
       android:id="@+id/iv_title_left" 
       android:layout_width="wrap_content" 
       android:layout_height="match_parent" 
       android:layout_centerVertical="true" 
       android:background="@drawable/ripple_toolbar_menu" 
       android:contentDescription="@null" 
       android:paddingLeft="15dp" 
       android:paddingRight="16dp" 
       android:src="@mipmap/ic_back_white"/> 

      <TextView 
       android:id="@+id/tv_title" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerVertical="true" 
       android:layout_toRightOf="@id/iv_title_left" 
       android:text="作品详情" 
       android:textColor="#ffffff" 
       android:textSize="18sp"/> 

      <TextView 
       android:id="@+id/tv_title_right" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentRight="true" 
       android:layout_centerVertical="true" 
       android:drawableRight="@mipmap/ic_share_white" 
       android:textColor="@android:color/black" 
       android:textSize="@dimen/tool_bar_title_text_size_normal"/> 
     </RelativeLayout> 
    </android.support.v7.widget.Toolbar> 
</RelativeLayout> 

java code

recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { 
      @Override 
      public void onScrolled(RecyclerView recyclerView, int dx, int dy) { 
       super.onScrolled(recyclerView, dx, dy); 
       if (toolbar == null) { 
        return; 
       } 
       float alpha = recyclerView.computeVerticalScrollOffset()/(float) halfScreenHeight; 
       if (alpha <= 2) { 
        if (alpha > 1) { 
         alpha = 1; 
        } 
        toolbar.getBackground().setAlpha((int) (alpha * 255)); 
        tvTitle.setAlpha(alpha); 
        tvRight.setAlpha(alpha); 
       } 
      } 
     }); 
+0

フラグメントのonCreateViewのtoolbar.getBackground()。setAlpha((int *)(alpha * 255))を使用して、アクティビティ –

+0

@LucaNicolettiのonCreateで前のアクティビティはonCreateを呼び出しませんでした。バグを修正するためにonResume()にsetAlpha(float)を設定しました。しかし、なぜか分からないのですか? – Chiclaim

+0

左にスワイプすると別のフラグメントを作成して読み込みますか?または別のアクティビティを開始しますか? –

答えて

2

代わりの

toolbar.getBackground().setAlpha((int) (alpha * 255));

あなたは状態を共有しない、この特定の描画可能になりますのmutate()を呼び出し、

toolbar.getBackground().mutate().setAlpha((int) (alpha * 255));

ドロワブルが互いの間でデフォルトの共有状態である使用する必要があります。

関連する問題