2015-10-03 2 views
7

私はアンドロイドの素材デザインの面白いです。だから私と一緒に抱きしめてください。私は自宅での活動のためにFABを実装しようとしましたが、その後、スナックバーを実装しました。当然、私のFABの上に来ました。私はCoordinatorLayoutについて調査しましたが、CoordinatorLayoutを使用する方が良いのはどちらですか?アンドロイド:CoordinatorLayoutを使う方が良い練習

たとえば、私の活動のxmlは次のとおりです。

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MainActivity"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@color/primary_color"></android.support.v7.widget.Toolbar> 


     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/searchfab" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentBottom="true" 
      android:layout_marginBottom="20dp" 
      android:layout_marginRight="20dp" 
      android:src="@drawable/ic_add_black_24dp" 
      app:fabSize="normal"> 

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

</RelativeLayout> 

他の人がこのようにCoordinatorLayoutを追加しているのを見ました。

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MainActivity"> 


    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@color/primary_color"></android.support.v7.widget.Toolbar> 

    <android.support.design.widget.CoordinatorLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/searchfab" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentRight="true" 
      android:layout_marginBottom="20dp" 
      android:layout_marginRight="20dp" 
      android:src="@drawable/ic_add_black_24dp" 
      app:fabSize="normal"> 

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

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

私の質問は、私たちはすべての要素のルートとして<android.support.design.widget.CoordinatorLayout>使用することができています。 <RelativeLayout>を完全にバイパスまたは削除してください。

だからxmlはこのようになります。

<android.support.design.widget.CoordinatorLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     tools:context=".MainActivity"> 

     <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@color/primary_color"> 

     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/searchfab" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentRight="true" 
      android:layout_marginBottom="20dp" 
      android:layout_marginRight="20dp" 
      android:src="@drawable/ic_add_black_24dp" 
      app:fabSize="normal"> 

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

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

およびが完全に除去されている。だからFABのためだけに</android.support.design.widget.CoordinatorLayout>を使用するのではなく、私たちは全体の活動にそれを使用します。 CoordinatorLayoutは子ビューを調整して作業することに重点を置いているので、すべての要素が互いに連携して動作する方がよいでしょうか?いずれにしても、利点と欠点は何ですか?

+3

これをチェックアウトしてください:https://lab.getbase.com/introduction-to-coordinator-layout-on-android/またはhttps://guides.codepath.com/android/Handling-Scrolls-with-CoordinatorLayout –

+0

@HareshChhelana私はそれらのリンクを読んだ後、より良い理解を得ました。助けてくれてありがとう。 –

+0

親愛なる嬉しいです –

答えて

3

CoordinatorLayoutは比較的新しいもので、FloatingActionButtonとNavDrawerの多くの問題を解決します。したがって、FABまたはNavDrawerを使用する必要がある場合は、コーデネータレイアウトを最上位レベルのレイアウトとして使用することをお勧めします(最後のコードスニペット)。内部では、より洗練されたRelativeLayoutまたはLinearLayoutを使用できます。

+0

NestedScrollViewとAppBarLayoutでも動作します –

関連する問題