2016-07-12 1 views
1

Я обновляю свое приложение, чтобы использовать новый Google Cast v3. Глядя на Code Lab, я установил фрагмент MiniController в свой макет, который является CoordinatorLayout.Google Cast v3 Mini Controller плавает сверху, когда используется в CoordinatorLayout

микроконтроллер Фрагмент:

<fragment 
    android:id="@+id/castMiniController" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:visibility="gone" 
    class="com.google.android.gms.cast.framework.media.widget.MiniControllerFragment" /> 

Обратите внимание, что он установлен для выравнивания в родительском дне, однако, на верхнюю часть окна. См. Прикрепленный снимок экрана.

Layout XML:

<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="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true"> 

<android.support.design.widget.AppBarLayout 
    android:id="@+id/appbar" 
    android:layout_width="match_parent" 
    android:layout_height="@dimen/detail_backdrop_height" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
    android:fitsSystemWindows="true"> 

    <android.support.design.widget.CollapsingToolbarLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fitsSystemWindows="true" 
     app:expandedTitleGravity="top" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed" 
     app:contentScrim="?attr/colorPrimary" 
     app:expandedTitleMarginStart="48dp" 
     app:expandedTitleMarginEnd="64dp" 
     app:titleEnabled="false"> 

     <ImageView 
      android:id="@+id/backdrop" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:scaleType="centerCrop" 
      android:fitsSystemWindows="true" 
      app:layout_collapseMode="parallax" 
      android:contentDescription="@string/backdrop_content_description" /> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
      app:layout_collapseMode="pin" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed" /> 

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

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

<fragment 
    android:id="@+id/castMiniController" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:visibility="gone" 
    class="com.google.android.gms.cast.framework.media.widget.MiniControllerFragment" /> 

<android.support.v4.widget.NestedScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_marginLeft="@dimen/outer_margin" 
    android:layout_marginStart="@dimen/outer_margin" 
    android:layout_marginRight="@dimen/outer_margin" 
    android:layout_marginEnd="@dimen/outer_margin" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <FrameLayout 
     android:id="@+id/fl_fragment" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 

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

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab" 
    app:layout_anchor="@id/appbar" 
    app:layout_anchorGravity="bottom|right|end" 
    style="@style/FabStyle"/> 

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

enter image description here

ответ

2

Похоже, если вы оберните расположение координатора в относительном макете, затем включает микроконтроллер после компоновки координатора, то он будет позиционироваться соответствующим образом на нижней части экрана.

+0

Проверьте мой ответ, это правильный способ добиться этого. –

3

В плане координатора вы не можете использовать layout_alignParentBottom.

android:layout_alignParentBottom="true" 

Вы должны изменить:

android:layout_alignParentBottom="true" 

с

android:layout_gravity="end|bottom" 
0

Если вы используете Relative Layout или аналогичные из них, используйте андроид: layout_gravity = "снизу"