0

コーディネーターレイアウトで要素を整列しようとしています。コードは以下の通りである:レイアウト内の要素を正しく整列する

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/main_content" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true"> 

     <LinearLayout 
      android:id="@+id/appbar" 
      android:layout_width="match_parent" 
      app:layout_anchorGravity="top" 
      android:layout_height="256dp" 
      android:fitsSystemWindows="true" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed" 
      android:background="@color/colorPrimary"> 

      <LinearLayout 
       android:id="@+id/collapsing_toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:fitsSystemWindows="true" 
       android:orientation="vertical"> 

       <TextView 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:text="@string/cheese_ipsum" /> 

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

        <Button 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="HAHAHA" /> 
       </RelativeLayout> 

      </LinearLayout> 

     </LinearLayout> 


    <android.support.v4.widget.NestedScrollView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:layout_anchorGravity="bottom|center" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical" 
      android:paddingTop="24dp"> 

      <LinearLayout 
       style="@style/Widget.CardContent" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content"> 

       <TextView 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:text="Info" 
        android:textAppearance="@style/TextAppearance.AppCompat.Title" /> 

       <TextView 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:text="@string/cheese_ipsum" /> 

      </LinearLayout> 


      <LinearLayout 
       style="@style/Widget.CardContent" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content"> 

       <TextView 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:text="Friends" 
        android:textAppearance="@style/TextAppearance.AppCompat.Title" /> 

       <TextView 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:text="@string/cheese_ipsum" /> 

      </LinearLayout> 


      <LinearLayout 
       style="@style/Widget.CardContent" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content"> 

       <TextView 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:text="Related" 
        android:textAppearance="@style/TextAppearance.AppCompat.Title" /> 

       <TextView 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:text="@string/cheese_ipsum" /> 

      </LinearLayout> 

     </LinearLayout> 

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

    <android.support.design.widget.FloatingActionButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="@dimen/fab_margin" 
     android:clickable="true" 
     android:src="@drawable/ic_discuss" 
     app:layout_anchor="@id/appbar" 
     app:layout_anchorGravity="bottom|right|end" /> 

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

私は取得しています上記のコードの実装では:enter image description here

をしかし、私はレイアウトが適切に配置されるようにしたい、のようなもの:

enter image description here

これを最初にlinear layoutを囲み、AppBarLayoutに記載されています。これは正しいことではありません。 coordinator layoutの要素を整列する正しい方法は何ですか?私の答えを更新し

答えて

0

、チェックこの

<android.support.design.widget.CoordinatorLayout   
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:id="@+id/main_content" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true"> 

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 


    <LinearLayout 
     android:id="@+id/appbar" 
     android:layout_width="match_parent" 
     app:layout_anchorGravity="top" 
     android:layout_height="256dp" 
     android:fitsSystemWindows="true" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed" 
     android:background="@color/colorPrimary"> 

     <LinearLayout 
      android:id="@+id/collapsing_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:fitsSystemWindows="true" 
      android:orientation="vertical"> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="@string/cheese_ipsum" /> 

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

       <Button 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="HAHAHA" /> 
      </RelativeLayout> 

     </LinearLayout> 

    </LinearLayout> 

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



<android.support.v4.widget.NestedScrollView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    app:layout_anchorGravity="bottom|center" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:paddingTop="24dp"> 

     <LinearLayout 
      style="@style/Widget.CardContent" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="Info" 
       android:textAppearance="@style/TextAppearance.AppCompat.Title" /> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="@string/cheese_ipsum" /> 

     </LinearLayout> 


     <LinearLayout 
      style="@style/Widget.CardContent" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="Friends" 
       android:textAppearance="@style/TextAppearance.AppCompat.Title" /> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="@string/cheese_ipsum" /> 

     </LinearLayout> 


     <LinearLayout 
      style="@style/Widget.CardContent" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="Related" 
       android:textAppearance="@style/TextAppearance.AppCompat.Title" /> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="@string/cheese_ipsum" /> 

     </LinearLayout> 

    </LinearLayout> 

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

<android.support.design.widget.FloatingActionButton 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_margin="@dimen/fab_margin" 
    android:clickable="true" 
    android:src="@drawable/ic_book" 
    app:layout_anchor="@id/appbar" 
    app:layout_anchorGravity="bottom|right|end" /> 

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

これは最初のテキストビューを削除しますか?これは間違っています ボタンを使用して最初の線形レイアウトを削除しました。 <ボタン アンドロイド:layout_width = "wrap_content" アンドロイド:layout_height = "wrap_content" アンドロイド:テキスト=それは –

+0

"HAHAHA" /> この相対レイアウトはコードに存在しません。 – Rgv

+0

'<::layout_width = "wrap_content" アンドロイドlayout_height = "wrap_content" RelativeLayout アンドロイド>を削除し –

0

AppBarLayoutを使用してandroid.support.design.widget.AppBarLayout

<android.support.design.widget.AppBarLayout 
     android:id="@+id/appbar" 
     android:layout_width="match_parent" 
     app:layout_anchorGravity="top" 
     android:layout_height="256dp" 
     android:fitsSystemWindows="true" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed" 
     android:background="@color/colorPrimary"> 

     <LinearLayout 
      android:id="@+id/collapsing_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:fitsSystemWindows="true" 
      android:orientation="vertical"> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="@string/cheese_ipsum" /> 

      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="HAHAHA" /> 

     </LinearLayout> 

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

にアプリバー内のビューを囲み、これを行うための正しい方法です。 CheeseSquareのソースコード(AppBarLayoutとその用途についての詳細を知るために、Material Design Support Libraryを正しく使用するためにGoogleが管理しているアプリ)を参照してください。

+0

アプリのバーレイアウトを使わずに「線形レイアウト」を使用したいのですが?それはまさに私の質問です。私が 'app bar layout'を使用しないと、スクロールを実現する方法はありますか? –

関連する問題