5

の後にスペースを取ります。 このために、私はAppBarLayoutの可視性をGONEに設定して、ビューを一時的に削除したいと考えています。 ビューは表示されませんが、画面内のスペース(画面の半分の高さ)をとります。AppBarLayoutは、私は、画面の高さを取る動的にビューを追加するための私のAppBarLayoutを非表示にするsetVisibility(View.GONE)

私の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:id="@+id/coordinatorFriendProfil" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="#81D4FA" 
android:fitsSystemWindows="true"> 

<android.support.design.widget.AppBarLayout 
    android:id="@+id/fProfilAppBar" 
    android:layout_width="match_parent" 
    android:layout_height="250dp" 
    android:fitsSystemWindows="true"> 

    <android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/fProfilCollapsing" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#B3E5FC" 
     android:gravity="center" 
     android:orientation="vertical" 
     app:contentScrim="#03A9F4" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

     <LinearLayout 
      android:id="@+id/fProfilUserInfo" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:gravity="center" 
      android:orientation="vertical"> 

      <com.neden.neden.RoundedImageView 
       android:id="@+id/ivFriendPicture" 
       android:layout_width="150sp" 
       android:layout_height="150sp" 
       android:layout_gravity="center" 
       android:fitsSystemWindows="true" 
       android:src="@drawable/photo" 
       app:border_color="#64B5F6" 
       app:border_width="4dp" 
       app:layout_collapseMode="parallax" 
       app:layout_collapseParallaxMultiplier="0.7" /> 

      <TextView 
       android:id="@+id/fProfilName" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:textSize="15pt" /> 

     </LinearLayout> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/fProfilToolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_collapseMode="pin" 
      app:layout_scrollFlags="scroll|enterAlways" /> 

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

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

<FrameLayout 
    android:id="@+id/fProfilContainer" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

私はこの問題を示すために画像を追加したいが、私は私のための評判のことはできません。 非常に悪い英語のため申し訳ありませんが、私はとてもうまく話せません。

答えて

3

はあなたの問題は、このラインで

app:layout_behavior="@string/appbar_scrolling_view_behavior" 

を引き起こしているあなたは、そのフィールドを持っていない、実際のコンテナフラグメントCoordinatorLayoutにプログラム的に設定する必要がありますゼロ

AppBarLayout appBar=(AppBarLayout)findViewById(R.id.fProfilAppBar); 
LinearLayout.LayoutParams params=appBar.getLayoutParams(); 
params.height=0; 
appBar.setLayoutParams(params); 
+0

スクロールを作りたいが、私はこれを行うとき、私でframeLayoutはあなたが何layout_height – Okn

+0

ためmatch_parentを取らない場合はどのように

mContainer = (FrameLayout) findViewById(R.id.main_content_container); CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) mContainer.getLayoutParams(); params.setBehavior(null); mContainer.requestLayout(); 

です「layout_heightにmatch_parentを取らない」という意味ですか?それは画面に合っていませんか? – mohax

+0

英語はすみません。 FrameLayoutは画面の高さをすべて取るようにしますが、appBarLayoutを設定すると、FrameLayoutは画面の最上部にあります(margin_bottomのようにですが、私のコードでは余白が見えません)。簡略化のために、私はアンドロイドを望んでいます:layout_height: "match_parent" – Okn

5

にAppBarLayoutの高さを設定するようにしてください。ここで

あなたはそれが動作し、再び

params.setBehavior(new AppBarLayout.ScrollingViewBehavior()); 
+0

この答えはあまりにも多くの解決策を試した後に私のために働いていました。 –

関連する問題