0

GoogleのマテリアルデザインライブラリでcollapseingToolBarを使用しようとしています。私はこの完全な崩壊ツールバーには初めてですが、いくつかのオンラインチュートリアルに続き、必要に応じてアドバイスに留意しながらXMLを作成しました。私は、5つのフラグメントを含むviewPagerで主なアクティビティを持っています。ユーザーがアクティビティをスクロールし、残りのアクティビティが折りたたみツールバーであるときに、viewPagerがフルスクリーンを占めるようにします。Android - マテリアルデザインライブラリ:collapsingToolBarレイアウトの使い方

残りのアクティビティには、評価バーといくつかのTextViewが含まれている2つのimageViewがあります。これらのすべてが崩壊しているツールバーレイアウトと互換性があるかどうかはわかりませんので、私は試しています。

This私が言いたいことです。これは、コーディネータのレイアウトとツールバーの折りたたみを試みる前のスクリーンショットです。

Hereは、アプリから欲しい出力のタイプです。この例では、ビューページのタブが少なくなりますが、基本的な折りたたみツールバーレイアウトの実装は同じです。ちょうどその場合のアプリのプレイストアのラインは次のとおりです:play.google.com/store/apps/details?id=com.kkings.cinematics

ここは私のアクティビティのxmlです。現在のものですtoolar):

i.stack.imgur.com/hPruf.png私は何も変更を加えていない

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 

    <RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 

     <android.support.design.widget.AppBarLayout 
      android:id="@+id/tvDescAppBarLayout" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:fitsSystemWindows="true" 
      android:theme="@style/ThemeOverlay.AppCompact.Dark.ActionBar"> 

      <android.support.design.widget.CollapsingToolbarLayout 
       android:id="@+id/tvDescCollapsingToolBar" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:fitsSystemWindows="true" 
       app:contentScrim="@color/chocolateBrown" 
       app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

        <RelativeLayout 
         android:id="@+id/tvDescTabLayout01" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:background="@android:color/black" 
         android:paddingBottom="8dp"> 

         <ImageView 
          android:id="@+id/tvBackgroundImage" 
          android:layout_width="match_parent" 
          android:layout_height="200dp" 
          android:adjustViewBounds="true" /> 

         <ImageView 
          android:id="@+id/tvImageMain" 
          android:layout_width="120dp" 
          android:layout_height="150dp" 
          android:layout_alignParentTop="true" 
          android:layout_marginLeft="20dp" 
          android:layout_marginTop="100dp" 
          android:foregroundGravity="left" /> 


         <TextView 
          android:id="@+id/tvDescHeading" 
          android:layout_width="140dp" 
          android:layout_height="wrap_content" 
          android:layout_below="@+id/tvBackgroundImage" 
          android:layout_marginLeft="8dp" 
          android:layout_marginTop="16dp" 
          android:layout_toRightOf="@id/tvImageMain" 
          android:textAppearance="@style/Base.TextAppearance.AppCompat.Large" 
          android:textColor="@android:color/white" 
          android:textStyle="bold|italic" /> 

         <RatingBar 
          android:id="@+id/tvDescRating" 
          style="?android:attr/ratingBarStyleSmall" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_alignParentRight="true" 
          android:layout_below="@id/tvBackgroundImage" 
          android:layout_marginRight="8dp" 
          android:layout_marginTop="30dp" 
          android:gravity="center_vertical" 
          android:numStars="5" 
          android:stepSize="0.5" 
          android:visibility="visible" /> 

         <TextView 
          android:id="@+id/tvDescIdTag" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_alignTop="@+id/tvDescReleaseDate" 
          android:layout_below="@+id/tvDescRating" 
          android:layout_marginBottom="8dp" 
          android:layout_toLeftOf="@+id/tvDescId" 
          android:text="ID: " 
          android:textColor="#D2D2D2" 
          android:textSize="15sp" 
          android:textStyle="italic|bold" /> 

         <TextView 
          android:id="@+id/tvDescId" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_alignParentRight="true" 
          android:layout_alignTop="@id/tvDescIdTag" 
          android:layout_below="@+id/tvDescRating" 
          android:layout_marginBottom="8dp" 
          android:layout_marginRight="16dp" 
          android:textColor="#D2D2D2" 
          android:textSize="15sp" 
          android:textStyle="bold|italic" /> 


         <TextView 
          android:id="@+id/tvDescReleaseDate" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_below="@+id/tvDescHeading" 
          android:layout_marginLeft="20dp" 
          android:layout_marginTop="8dp" 
          android:layout_toRightOf="@+id/tvImageMain" 
          android:textColor="#D6D6D6" 
          android:textSize="13sp" 
          android:textStyle="bold" /> 

        </RelativeLayout> 

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

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

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

      <LinearLayout 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:orientation="vertical"> 

       <android.support.design.widget.TabLayout 
        android:id="@+id/tvDescTabLayout" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:background="@android:color/darker_gray" 
        app:tabMode="fixed" 
        app:tabTextAppearance="@style/Base.TextAppearance.AppCompat.Medium" 
        app:tabTextColor="@android:color/black" /> 

       <android.support.v4.view.ViewPager 
        android:id="@+id/tvDescViewPager" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_alignParentBottom="true" 
        android:background="@android:color/white" /> 

      </LinearLayout> 

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

    </RelativeLayout> 

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

これは、この活動が生み出す結果のタイプがありますJavaで。クレジットまたは他のクラスは何も表示できません。私はこれがrecyclerViewとnestedScroll Viewとの間のいくつかの衝突のためだと考えています。

とにかく、私はすべてのオンラインチュートリアルでcollapsingToolbarLayoutの中にツールバーを使用していることを知りました。だから私は同じ同じことをやってみました、新しいXMLをhereis:

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 

    <RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 

     <android.support.design.widget.AppBarLayout 
      android:id="@+id/tvDescAppBarLayout" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:fitsSystemWindows="true" 
      android:theme="@style/ThemeOverlay.AppCompact.Dark.ActionBar"> 

      <android.support.design.widget.CollapsingToolbarLayout 
       android:id="@+id/tvDescCollapsingToolBar" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:fitsSystemWindows="true" 
       app:contentScrim="@color/chocolateBrown" 
       app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

       <android.support.v7.widget.Toolbar 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:background="@color/transparentColor" 
        android:fitsSystemWindows="true" 
        app:layout_scrollFlags="scroll|enterAlways"> 

        <RelativeLayout 
         android:id="@+id/tvDescTabLayout01" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:background="@android:color/black" 
         android:paddingBottom="8dp"> 

         <ImageView 
          android:id="@+id/tvBackgroundImage" 
          android:layout_width="match_parent" 
          android:layout_height="200dp" 
          android:adjustViewBounds="true" /> 

         <ImageView 
          android:id="@+id/tvImageMain" 
          android:layout_width="120dp" 
          android:layout_height="150dp" 
          android:layout_alignParentTop="true" 
          android:layout_marginLeft="20dp" 
          android:layout_marginTop="100dp" 
          android:foregroundGravity="left" /> 


         <TextView 
          android:id="@+id/tvDescHeading" 
          android:layout_width="140dp" 
          android:layout_height="wrap_content" 
          android:layout_below="@+id/tvBackgroundImage" 
          android:layout_marginLeft="8dp" 
          android:layout_marginTop="16dp" 
          android:layout_toRightOf="@id/tvImageMain" 
          android:textAppearance="@style/Base.TextAppearance.AppCompat.Large" 
          android:textColor="@android:color/white" 
          android:textStyle="bold|italic" /> 

         <RatingBar 
          android:id="@+id/tvDescRating" 
          style="?android:attr/ratingBarStyleSmall" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_alignParentRight="true" 
          android:layout_below="@id/tvBackgroundImage" 
          android:layout_marginRight="8dp" 
          android:layout_marginTop="30dp" 
          android:gravity="center_vertical" 
          android:numStars="5" 
          android:stepSize="0.5" 
          android:visibility="visible" /> 

         <TextView 
          android:id="@+id/tvDescIdTag" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_alignTop="@+id/tvDescReleaseDate" 
          android:layout_below="@+id/tvDescRating" 
          android:layout_marginBottom="8dp" 
          android:layout_toLeftOf="@+id/tvDescId" 
          android:text="ID: " 
          android:textColor="#D2D2D2" 
          android:textSize="15sp" 
          android:textStyle="italic|bold" /> 

         <TextView 
          android:id="@+id/tvDescId" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_alignParentRight="true" 
          android:layout_alignTop="@id/tvDescIdTag" 
          android:layout_below="@+id/tvDescRating" 
          android:layout_marginBottom="8dp" 
          android:layout_marginRight="16dp" 
          android:textColor="#D2D2D2" 
          android:textSize="15sp" 
          android:textStyle="bold|italic" /> 


         <TextView 
          android:id="@+id/tvDescReleaseDate" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_below="@+id/tvDescHeading" 
          android:layout_marginLeft="20dp" 
          android:layout_marginTop="8dp" 
          android:layout_toRightOf="@+id/tvImageMain" 
          android:textColor="#D6D6D6" 
          android:textSize="13sp" 
          android:textStyle="bold" /> 

        </RelativeLayout> 

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

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

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

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

      <LinearLayout 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:orientation="vertical"> 

       <android.support.design.widget.TabLayout 
        android:id="@+id/tvDescTabLayout" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:background="@android:color/darker_gray" 
        app:tabMode="fixed" 
        app:tabTextAppearance="@style/Base.TextAppearance.AppCompat.Medium" 
        app:tabTextColor="@android:color/black" /> 

       <android.support.v4.view.ViewPager 
        android:id="@+id/tvDescViewPager" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_alignParentBottom="true" 
        android:background="@android:color/white" /> 

      </LinearLayout> 

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

    </RelativeLayout> 

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

このツールバーはすべて奇妙になり、これはこれは次のようになります。

i.stack.imgur.com/PfqP9。 png

また、logcatにエラーは表示されません。

どこが間違っているのか分かりません。私はStackOverFlowに関する他のすべての同様の質問をチェックしましたが、今までのところ解決策はありませんでした。

そして、ここで私が言及したチュートリアルです。

www.youtube.com/watch?v=ssh09JbQ3nc

私はここで間違って何をしているのですか?

答えて

0

は、ToolbarRelativeLayout外側を添加 必要&はなかった最初RelativeLayoutを除去することでした。

これが機能するようになりました:

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 

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

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 

      <android.support.v4.view.ViewPager 
       android:id="@+id/tvDescViewPager" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_alignParentBottom="true" 
       android:background="@android:color/white" /> 

     </LinearLayout> 

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

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/tvDescAppBarLayout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:fitsSystemWindows="true" 
     android:theme="@style/ThemeOverlay.AppCompact.Dark.ActionBar"> 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/tvDescCollapsingToolBar" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:fitsSystemWindows="true" 
      app:contentScrim="@color/colorPrimary" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

      <android.support.v7.widget.Toolbar 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:fitsSystemWindows="true" 
       app:layout_scrollFlags="scroll|enterAlways" /> 

      <RelativeLayout 
       android:id="@+id/tvDescTabLayout01" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:paddingBottom="8dp"> 

       <ImageView 
        android:id="@+id/tvBackgroundImage" 
        android:layout_width="match_parent" 
        android:layout_height="200dp" 
        android:adjustViewBounds="true" 
        android:background="@drawable/bg_intro" /> 

       <ImageView 
        android:id="@+id/tvImageMain" 
        android:layout_width="120dp" 
        android:layout_height="150dp" 
        android:layout_alignParentTop="true" 
        android:layout_marginLeft="20dp" 
        android:layout_marginTop="100dp" 
        android:background="@drawable/bg" 
        android:foregroundGravity="left" /> 


       <TextView 
        android:id="@+id/tvDescHeading" 
        android:layout_width="140dp" 
        android:layout_height="wrap_content" 
        android:layout_below="@+id/tvBackgroundImage" 
        android:layout_marginLeft="8dp" 
        android:layout_marginTop="16dp" 
        android:layout_toRightOf="@id/tvImageMain" 
        android:text="This is theheading" 
        android:textAppearance="@style/Base.TextAppearance.AppCompat.Large" 
        android:textColor="@android:color/white" 
        android:textStyle="bold|italic" /> 

       <RatingBar 
        android:id="@+id/tvDescRating" 
        style="?android:attr/ratingBarStyleSmall" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true" 
        android:layout_below="@id/tvBackgroundImage" 
        android:layout_marginRight="8dp" 
        android:layout_marginTop="30dp" 
        android:gravity="center_vertical" 
        android:numStars="5" 
        android:stepSize="0.5" 
        android:visibility="visible" /> 

       <TextView 
        android:id="@+id/tvDescIdTag" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignTop="@+id/tvDescReleaseDate" 
        android:layout_below="@+id/tvDescRating" 
        android:layout_marginBottom="8dp" 
        android:layout_toLeftOf="@+id/tvDescId" 
        android:text="ID: " 
        android:textColor="#D2D2D2" 
        android:textSize="15sp" 
        android:textStyle="italic|bold" /> 

       <TextView 
        android:id="@+id/tvDescId" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true" 
        android:layout_alignTop="@id/tvDescIdTag" 
        android:layout_below="@+id/tvDescRating" 
        android:layout_marginBottom="8dp" 
        android:layout_marginRight="16dp" 
        android:textColor="#D2D2D2" 
        android:textSize="15sp" 
        android:textStyle="bold|italic" /> 


       <TextView 
        android:id="@+id/tvDescReleaseDate" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_below="@+id/tvDescHeading" 
        android:layout_marginLeft="20dp" 
        android:layout_marginTop="8dp" 
        android:layout_toRightOf="@+id/tvImageMain" 
        android:textColor="#D6D6D6" 
        android:textSize="13sp" 
        android:textStyle="bold" /> 

      </RelativeLayout> 

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

     <android.support.design.widget.TabLayout 
      android:id="@+id/tvDescTabLayout" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom" 
      android:background="@android:color/darker_gray" 
      app:tabMode="fixed" 
      app:tabTextAppearance="@style/Base.TextAppearance.AppCompat.Medium" 
      app:tabTextColor="@android:color/black" /> 
    </android.support.design.widget.AppBarLayout> 

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

結果:

enter image description here

関連する問題