2017-08-01 13 views
0

BottomSheetBehaviorでNestedScrollViewを使用しています。 1つの直接的な子、ScrollViewがあります。一番下のシートが展開されると、スクロールビューのコンテンツをスクロールすることができます。スクロールビューを展開しても、スクロールせずに表示するにはまだ大きすぎます。しかし、それは応答していません。NestedScrollViewでScrollViewをスクロールできません

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     tools:context="com.thunderbuild.weegnet.fragments.FragmentBridgesMap"> 

    <com.google.android.gms.maps.MapView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/bridges_mv_map" 
      app:mapType="normal" /> 

    <android.support.v4.widget.NestedScrollView 
      android:id="@+id/bridges_nsv_sheet" 
      android:layout_width="match_parent" 
      android:elevation="4dp" 
      android:layout_height="350dp" 
      android:scrollbars="none" 
      android:background="@android:color/white" 
      android:clipToPadding="true" 
      app:layout_behavior="android.support.design.widget.BottomSheetBehavior"> 

     <ScrollView 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:clickable="true" 
       android:id="@+id/bridge_sv_content"> 

      <android.support.constraint.ConstraintLayout 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        app:layout_constraintTop_toBottomOf="@+id/bridge_mv_map" 
        android:id="@+id/bridge_cl_content" 
        android:orientation="vertical"> 


       <TextView 
         android:id="@+id/bridge_tv_name" 
         android:layout_width="0dp" 
         android:layout_height="wrap_content" 
         android:text="Bridge name" 
         android:textColor="@color/primaryTextColor" 
         android:textSize="20sp" 
         android:layout_marginTop="8dp" 
         android:layout_marginBottom="0dp" 
         app:layout_constraintBottom_toTopOf="@+id/linearLayout" 
         app:layout_constraintTop_toTopOf="parent" 
         android:layout_marginLeft="8dp" 
         app:layout_constraintLeft_toLeftOf="parent" 
         android:layout_marginRight="8dp" 
         app:layout_constraintRight_toRightOf="parent" /> 

       <Button 
         android:id="@+id/bridge_btn_weigh" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="Weigh" 
         android:layout_gravity="center_horizontal" 
         android:background="@drawable/button_style" 
         android:textColor="@color/lightTextColor" 
         app:layout_constraintTop_toBottomOf="@+id/ll_opening_times" 
         app:layout_constraintLeft_toLeftOf="parent" 
         app:layout_constraintRight_toRightOf="parent" 
         android:layout_marginTop="8dp" /> 

       <TextView 
         android:id="@+id/bridge_tv_status" 
         android:layout_width="wrap_content" 
         android:textColor="@color/green" 
         android:layout_gravity="center_vertical" 
         android:layout_height="wrap_content" 
         android:text="Opened until..." 
         app:layout_constraintLeft_toLeftOf="@+id/bridge_tv_name" 
         app:layout_constraintTop_toBottomOf="@+id/bridge_tv_name" 
         android:layout_marginTop="8dp" /> 

       <LinearLayout 
         android:layout_width="0dp" 
         android:layout_height="wrap_content" 
         android:orientation="horizontal" 
         android:layout_marginRight="0dp" 
         app:layout_constraintRight_toRightOf="parent" 
         app:layout_constraintTop_toTopOf="@+id/bridge_tv_status" 
         app:layout_constraintBottom_toBottomOf="@+id/bridge_tv_status" 
         android:layout_marginEnd="8dp" 
         android:id="@+id/linearLayout"> 

        <ImageView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:tint="@color/secondaryTextColor" 
          android:layout_marginRight="4dp" 
          android:src="@drawable/ic_car" /> 

        <TextView 
          android:id="@+id/bridge_tv_eta" 
          android:layout_gravity="center_vertical|right" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="5 min." /> 
       </LinearLayout> 

       <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:src="@drawable/ic_marker" 
         android:id="@+id/imageView" 
         android:tint="@color/colorPrimary" 
         android:layout_marginLeft="16dp" 
         app:layout_constraintLeft_toLeftOf="parent" 
         android:layout_marginStart="16dp" 
         android:layout_marginTop="16dp" 
         app:layout_constraintTop_toBottomOf="@+id/bridge_tv_status" /> 

       <LinearLayout 
         android:id="@+id/ll_opening_times" 
         android:orientation="vertical" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         app:layout_constraintRight_toRightOf="parent" 
         app:layout_constraintLeft_toLeftOf="parent" 
         app:layout_constraintTop_toBottomOf="@+id/view" 
         android:layout_marginTop="8dp" 
         android:layout_marginLeft="8dp" 
         android:layout_marginRight="8dp" /> 

       <TextView 
         android:text="Address" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:id="@+id/bridge_tv_address" 
         app:layout_constraintLeft_toLeftOf="@+id/ll_opening_times" 
         app:layout_constraintBottom_toBottomOf="@+id/imageView" 
         app:layout_constraintTop_toTopOf="@+id/imageView" /> 

       <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:src="@drawable/ic_clock" 
         android:tint="@color/colorPrimary" 
         android:id="@+id/imageView2" 
         app:layout_constraintTop_toTopOf="@+id/ll_opening_times" 
         app:layout_constraintLeft_toLeftOf="@+id/imageView" /> 

       <View 
         android:layout_width="0dp" 
         android:layout_height="1dp" 
         android:background="@color/secondaryTextColor" 
         app:layout_constraintLeft_toLeftOf="parent" 
         app:layout_constraintTop_toBottomOf="@+id/bridge_tv_address" 
         app:layout_constraintRight_toRightOf="parent" 
         android:layout_marginTop="16dp" 
         app:layout_constraintHorizontal_bias="0.0" 
         android:id="@+id/view" /> 
      </android.support.constraint.ConstraintLayout> 
     </ScrollView> 
    </android.support.v4.widget.NestedScrollView> 
</android.support.design.widget.CoordinatorLayout> 

私は解決策がhereを述べたが、無駄にしようとした:これはXMLです。誰でもこれを修正する方法を知っていますか?

編集:私は今、それを気付いています。は、スクロールしていますが、それほど十分ではありません。コンテンツは一番下に切り取られます。

+0

NestedScrollViewはScrollviewの拡張クラスです。あなたのXMLでは既に冗長です。代わりにNestedScrollViewを使用してください。 – ZeroOne

+1

いいえ、NestedScrollViewはFrameLayoutから拡張されています。しかし、私はまだあなたの提案を試みました。私は子供のScrollViewを削除しましたが、同じ結果があります。完全に展開されていても、完全なコンテンツは下のシートに収まらないので、スクロールすることができます。私はスクロールできません。 – Ruben2112

答えて

0

問題の1つは、ボタンに下部の制約がないことでした。私はそれを加え、またその底に余裕をもたらし、それが断たれることを防いだ。それはちょっとした解決策ですが、今のところうまくいきます。

関連する問題