0
我正在嘗試創建一個完全展開或完全看不到的底部表單 - 我不希望它處於中間或窺視的任何位置。EXPERSED與HIDDEN之間的底部表格停止操作
這裏的XML:
<LinearLayout
android:id="@+id/bottom_sheet"
android:layout_width="250dp"
android:layout_height="250dp"
android:layout_gravity="center_horizontal"
android:background="@android:color/holo_blue_bright"
android:clipToPadding="true"
android:orientation="vertical"
android:elevation="10dp"
app:behavior_peekHeight="0dp"
app:behavior_hideable="true"
app:behavior_skipCollapsed="true"
app:layout_behavior="android.support.design.widget.BottomSheetBehavior">
<TextView
android:id="@+id/delete_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/cinza3"
android:text="clear/delete Q"/>
</LinearLayout>
在我的代碼有以下幾種方法:
private void showHideBottomSheet() {
if (mBSBehavior.getState() != BottomSheetBehavior.STATE_EXPANDED) {
showBottomSheet();
} else {
hideBottomSheet();
}
}
private void showBottomSheet() {
mBSBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
}
private void hideBottomSheet() {
mBSBehavior.setState(BottomSheetBehavior.STATE_HIDDEN);
}
而且在我的佈局有一個按鈕,要求showHideBottomSheet點擊時()。
當我點擊按鈕時,一切正常,底部顯示/隱藏。但是,如果它是EXPANDED,並且我在代碼的其他地方(底部表單外部)單擊了textview,底部表單會向下移動一點,但不完全 - 它的上半部分是可見的,但是如果我記錄它的狀態,則是STATE_EXPANDED。
- STATE_HIDDEN和STATE_COLLAPSED有什麼區別?我到處搜索了一個視覺解釋,但無法找到它。這個「中間」狀態是摺疊狀態嗎?即使我在xml和skipCollapsed =「true」中設置了peekHeight =「0」?
- 在xml中,peekHeight和skipCollapsed實際上做了什麼?
- 我該如何讓它在任何時候都完全可見或完全隱藏,並避免這種「中間」狀態?
編輯:BottomSheet裏面有一個TextView,和OnClickListener。當我點擊它時,即使OnclickListener沒有調用setState或任何與BottomSheet相關的東西,BottomSheet也會進入'中間'狀態。
我想這也是你的問題的原因,你有身高和你的''LinearLayout'機器人的寬度:layout_width =「250dp」 機器人:layout_height =「250dp」' –