0

上で行われていない私は、このレイアウトがあります。のLinearLayoutがフラグメント

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true" 
tools:context="ca.usherbrooke.whapl.MainActivity"> 

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/AppTheme.AppBarOverlay" 
    > 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="@color/colorPrimary" 
     app:popupTheme="@style/AppTheme.PopupOverlay" 
     app:elevation="4dp"/> 

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


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

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

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="bottom" 
     android:orientation="horizontal" 
     android:paddingTop="5dp" 
     android:paddingBottom="10dp" 
     android:background="@color/colorPrimary" 
     > 

     <ImageView 
      android:id="@+id/previous" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/ic_action_previous"/> 

     <ImageView 
      android:id="@+id/play_pause" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/ic_action_play"/> 

     <ImageView 
      android:id="@+id/next" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/ic_action_next"/> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="bottom" 
     android:orientation="horizontal" 
     android:paddingBottom="10dp" 
     android:background="@color/colorPrimary" 
     > 

     <TextView 
      android:layout_marginLeft="10dp" 
      android:id="@+id/songname" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:textColor="@color/white" 
      /> 
    </LinearLayout> 

</LinearLayout> 

を、私は私のfragment_containerでのListViewを持っている場合、巻き戻し/次の再生/一時停止/ボタンでプレイヤーが上なかれですコンテナでは、リストビューの最後の要素にアクセスすることはできません。なぜなら、これはプレーヤの背後にあるからです(fragment_containerの後の線形レイアウト)。

コンテナの交換は、自分が持っている場所を取るだけで、プレーヤーの下には行かないでください。

私の主なアクティビティのレイアウトにはこのレイアウトが含まれていますが、これは自分のコンテナとNavigationViewを含むDrawerLayoutです。

+0

LinearLayoutまたはRelativeLayoutを使ってワープして動作させることを検討してください。 Linearlayoutを作成し、appbarlayoutとframelayoutをその内部に配置します。 – ZeroOne

答えて

0

android:layout_marginBottomプロパティをプレーヤーの身長に等しいコンテナに追加します。

+0

それは私が最終的にやったことですが、プレイヤーは曲の名前に応じて異なるサイズを持つことができます(長いタイトルは2行を使用します) – Maloz

+0

したがって、プレーヤーの高さをプログラム的に取得して、変更によってbottomMarginコンテナのプロパティ または、デザインサポートのLIbraryから展開可能なBottomSheetBehaviorをプレーヤに使用できます。 – GPack

+0

ありがとう、BottomSheetBehaviorを見て、私が欲しいもののために良い音を! – Maloz