0

我有BottomSheetDialogBottomSheetDialogFragment有一個佈局:的Android BottomSheetDialog增加了額外的垂直邊距

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

    <android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/collapsing_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fitsSystemWindows="true" 
     app:contentScrim="@color/colorPrimary" 
     app:expandedTitleMargin="16dp" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed" 
     app:statusBarScrim="@color/colorPrimaryDark" 
     app:title="Roman R"> 

     <ImageView 
      android:id="@+id/imageView2" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:padding="48dp" 
      app:layout_collapseMode="parallax" 
      app:srcCompat="@drawable/ic_person_white_24dp" /> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      style="@style/AppTheme.ToolBarStyle" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_collapseMode="pin" /> 
    </android.support.design.widget.CollapsingToolbarLayout> 
</android.support.design.widget.AppBarLayout> 

<android.support.v4.widget.NestedScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@color/colorBackground" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <include layout="@layout/profile_info" /> 

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

兩個增加了額外的上邊距,這等於Toolbar高度。它看起來像:

enter image description here enter image description here

BottomSheetDialogFragment

public class ContactBottomSheet extends BottomSheetDialogFragment { 

    @BindView(R.id.collapsing_toolbar) 
    public CollapsingToolbarLayout collapsingToolbarLayout; 

    private User user; 

    @Override 
    public void setupDialog(final Dialog dialog, int style) { 
     View rootView = getActivity().getLayoutInflater().inflate(R.layout.bottom_sheet_contact, null); 
     ButterKnife.bind(this, rootView); 

     refreshUI(); 

     dialog.setContentView(rootView); 
//  super.setupDialog(dialog, style); 
    } 

    private void refreshUI() { 
     if (getUser() == null) { 
      return; 
     } 

     collapsingToolbarLayout.setTitle(getUser().getName()); 
    } 

    public User getUser() { 
     return user; 
    } 

    public void setUser(User user) { 
     this.user = user; 
    } 
} 

我建立對話是這樣的:

ContactBottomSheet dialog = new ContactBottomSheet(); 
     dialog.show(getSupportFragmentManager(), "ContactBottomSheet"); 

請幫助,因爲我不知道。

回答

1

當您使用

app:expandedTitleMargin="16dp"

android:padding="48dp"

這使得你的上邊距64dp

解決方案: -

減少並運行

+0

對不起,它沒有幫助 –

+0

適合我!謝謝 – avisper