半分の拡大比の値は、0と1の間にいくつかの値に設定する必要があります排他的なので、あまり自分のPEEK高さよりも「0.0001f」と言うことは確かであるいくつかの非常に低い数値にこの値を設定し、。この値では、STATE_HALF_EXPANDED状態を見ることさえできません。州はとの間STATE_EXPANDEDで変動しSTATE_COLLAPSEDます。
代替ソリューション
上記の解決策は機能し、事実上STATE_HALF_EXPANDED状態を無効にしますが、ハック(IMO)であり、将来は機能しなくなる可能性があります。たとえば、ピークの高さと完全な高さの間のどこかにある半分に拡大された比率に適切な値が適用されている場合はどうなりますか?それは問題だろう。
OPで述べられている要件は、ボトムシートがピークの高さとフルの高さの間で移行することです。ピークの高さには問題はありませんが、OP isFitToContents = falseは完全な高さに到達するように指定しています。(私は彼のボトムシートが利用可能なスペースよりも短いかもしれないと思います。)
残念ながら、isFitToContents == false追加の「ハーフハイト」動作が導入された場合、OPは回避したいと考えているため、問題が発生します。
「ハーフハイト」動作に加えて、「拡張オフセット」という別の動作が導入されています。展開されたオフセットは、下部シートがフルスクリーンからどれだけ下に停止するかを指定します。100fたとえば、の値は、100px完全に展開したときに下のシートの上部に境界線を残します。拡張オフセットのデフォルトはゼロです。
isFitToContents == false上記以外の行動を起こすことは知りません。
したがって、これらの要件を前提として、ピークの高さと完全な高さの間を移動するボトムシートを指定isFitToContents == trueして、「ハーフハイト」の問題を回避しながら指定できますか?ゼロ以外の拡張オフセットの要件はないので、それについて心配する必要はありません。
以下は、右下のシート構造でこれらの要件を満たすことができることを示す短いデモアプリです。

MainActivity5.kt
class MainActivity5 : BaseActivity() {  
    override fun onCreate(savedInstanceState: Bundle?) {  
        super.onCreate(savedInstanceState)  
        setContentView(R.layout.activity_main5)  
        val bottomSheet = findViewById<LinearLayout>(R.id.bottom_sheet)  
        val sheetBehavior: BottomSheetBehavior<LinearLayout> = BottomSheetBehavior.from(bottomSheet)  
        sheetBehavior.isFitToContents = true // the default  
  sheetBehavior.peekHeight = 200  
  // Log the states the bottom sheet passes through.  
  sheetBehavior.addBottomSheetCallback(object : BottomSheetBehavior.BottomSheetCallback() {  
            override fun onStateChanged(bottomSheet: View, newState: Int) {  
                Log.d("MainActivity", "<<<< $newState = ${translateSheetState(newState)}")  
            }  
            override fun onSlide(bottomSheet: View, slideOffset: Float) {}  
        })  
    }  
}
BaseActivity.kt
open class BaseActivity : AppCompatActivity() {  
    protected fun translateSheetState(state: Int): String {  
        return when (state) {  
            BottomSheetBehavior.STATE_COLLAPSED -> "STATE_COLLAPSED"  
  BottomSheetBehavior.STATE_DRAGGING -> "STATE_DRAGGING"  
  BottomSheetBehavior.STATE_EXPANDED -> "STATE_EXPANDED"  
  BottomSheetBehavior.STATE_HALF_EXPANDED -> "STATE_HALF_EXPANDED"  
  BottomSheetBehavior.STATE_HIDDEN -> "STATE_HIDDEN"  
  BottomSheetBehavior.STATE_SETTLING -> "STATE_SETTLING"  
  else -> "Unknown state: $state"  
  }  
    }  
}
activity_main5.xml
<androidx.coordinatorlayout.widget.CoordinatorLayout 
    android:id="@+id/main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:id="@+id/bottom_sheet"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/holo_orange_light"
        android:orientation="vertical"
        android:scrollbars="none"
        app:layout_behavior="@string/bottom_sheet_behavior">
        <TextView
            android:id="@+id/tv"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="16dp"
            android:text="@string/short_text"
            android:textSize="16sp" />
    </LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
下部のシートが長い場合は、次の構造でスクロールします。
activity_main6.xml
<androidx.coordinatorlayout.widget.CoordinatorLayout 
    android:id="@+id/main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:id="@+id/bottom_sheet"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/holo_orange_light"
        android:orientation="vertical"
        android:scrollbars="none"
        app:layout_behavior="@string/bottom_sheet_behavior">
        <androidx.core.widget.NestedScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <TextView
                android:id="@+id/tv"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:padding="16dp"
                android:text="@string/long_text"
                android:textSize="16sp" />
        </androidx.core.widget.NestedScrollView>
    </LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>