2017-08-26 136 views
0

嗨,我試圖讓從Android中的屏幕下方會出現一個對話框。在搜索時,我發現我可以使用BottomSheetDialog。現在我想在我的BottomSheetDialog中使用imageview的可摺疊工具欄。當我的圖像在滾動時崩潰時,我想顯示詳細信息 (如姓名,信息,手機號碼等簡單文字瀏覽)。
我的問題是:
1.當我添加布局NestedScrollView顯示詳細信息,文字最初重疊的圖像,但圖像被摺疊時,文本不再重疊的圖像。文字位置保持不變,在滾動時圖像不會向上移動,滾動體驗非常差。
2.當我添加線性佈局來顯示DETAILS時,文本出現在我的可摺疊工具欄的圖像上。BottomSheetDialog與可摺疊工具欄

這裏是我的對話框佈局文件:

<?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" 
     app:layout_behavior="android.support.design.widget.BottomSheetBehavior">

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

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/profile_activity_collapsing_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:fitsSystemWindows="true" 
      app:contentScrim="?attr/colorPrimary" 
      app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed"> 

      <ImageView 
       android:id="@+id/panel_profile_picture" 
       android:layout_width="match_parent" 
       android:layout_height="400dp" 
       android:adjustViewBounds="true" 
       android:scaleType="centerCrop" 
       app:layout_collapseMode="parallax" 
       app:layout_collapseParallaxMultiplier="0.7" /> 

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

    <!--<ADD A LAYOUT HERE TO SHOW TEXTVIEW FOR DETAILS LIKE NAME,INFORMATION ETC>--> 

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


的bottomSheetDialog出現時,卡在activity.Here被觸摸是我的代碼顯示bottomSheetDialog:

  convertView = mlayoutInflator.inflate(R.layout.panel_details_list_item, null); 
      /* setting texts in convertView */ 
      convertView.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Log.d("Card touched","Card touched at " + position); 
       mBottomSheetDialog = new BottomSheetDialog(mContext); 
       bottomSheetView = mlayoutInflator.inflate(R.layout.panel_more_detail_item,null); 
       mBottomSheetDialog.setContentView(bottomSheetView); 
       mbottomSheetBehavior = BottomSheetBehavior.from((View) bottomSheetView.getParent()); 
       bottomSheetInterviewerImage = bottomSheetView.findViewById(R.id.panel_profile_picture); 
       bottomSheetInterviewerImage.setImageDrawable(drawableList.get(position)); 
       mBottomSheetDialog.show(); 
      } 
     }); 

我應該用什麼來顯示我的細節,而不會損害可摺疊的工具欄?我希望當我的圖像崩潰並向上移動時,texviews會出現,並且在向上滾動時也會向上移動。

PS:如果需要進行發佈任何內容不明確或多個相關的代碼,請發表評論。 TIA

回答

0

我發現一些供應我purpose.I我使用FrameLayout與應用程序的行爲app:layout_behavior="@string/appbar_scrolling_view_behavior"
所以,當你觸摸相應的圖片和滾動,形象崩潰,細節上移以及上滾動。但是,通過觸摸細節佈局並向上滾動,圖像無法摺疊。必須觸摸圖像並向上滾動。直到找到更好的解決方案,這符合我的目的。
所以對於底層對話框我的佈局文件是這樣的:

<?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" 
     app:layout_behavior="android.support.design.widget.BottomSheetBehavior"> 


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

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/profile_activity_collapsing_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:fitsSystemWindows="true" 
      app:contentScrim="?attr/colorPrimary" 
      app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed"> 

      <ImageView 
       android:id="@+id/panel_profile_picture" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:scaleType="centerCrop" 
       app:layout_collapseMode="parallax" 
       app:layout_collapseParallaxMultiplier="0.7" /> 

      <!--<android.support.v7.widget.Toolbar--> 
       <!--android:id="@+id/toolbar"--> 
       <!--android:layout_width="match_parent"--> 
       <!--android:layout_height="?attr/actionBarSize"--> 
       <!--app:layout_collapseMode="parallax"--> 
       <!--app:popupTheme="@style/AppTheme.PopupOverlay" />--> 
     </android.support.design.widget.CollapsingToolbarLayout> 
    </android.support.design.widget.AppBarLayout> 
    <FrameLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 
     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="300dp" 
      android:orientation="vertical"> 
      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="This is detial 1" 
       android:padding="20dp" 
       android:gravity="center"/> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="This is detial 2" 
       android:padding="20dp" 
       android:gravity="center"/> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="This is detial 3" 
       android:padding="20dp" 
       android:gravity="center"/> 

     </LinearLayout> 

    </FrameLayout> 

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

`