2016-07-12 3 views
1

Je suis en train de mettre à jour mon application pour utiliser la nouvelle version de Google Cast v3. En regardant le Code Lab, j'ai mis au fragment MiniController dans ma mise en page, qui est un CoordinatorLayout.Le mini-contrôleur Google Cast v3 est placé en haut lorsqu'il est utilisé dans CoordinatorLayout

Fragment mini-automate:

<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" /> 

Notez qu'il est réglé pour aligner au fond de parent, cependant, il est au sommet de la fenêtre. Voir la capture d'écran ci-jointe.

XML Mise en page:

<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

Répondre

2

On dirait que si vous enveloppez la mise en page de coordinateur dans une disposition relative, puis d'inclure le mini-automate après la mise en page de coordonnateur, il sera positionné de manière appropriée à la en bas de l'écran.

+0

Vérifier mon répondre, c'est la bonne façon de faire cela. –

3

Dans la mise en page du coordinateur, vous ne pouvez pas utiliser layout_alignParentBottom.

android:layout_alignParentBottom="true" 

Vous devez changer:

android:layout_alignParentBottom="true" 

avec

android:layout_gravity="end|bottom" 
0

Si vous utilisez la mise en page relative ou semblables, utilisez android: layout_gravity = "bottom"