我正在尝试使用Bottom Sheet制作应用。但是当我运行应用程序时,底部工作表显示在主屏幕中。这意味着,底部工作表显示在主屏幕中而不单击按钮。为了清楚理解,下面已经证明了一张图片。 sample image
这是MainActivity.java类:
package com.example.qurdadzze.b;
import android.support.design.widget.BottomSheetBehavior;
import android.support.v4.widget.NestedScrollView;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button btn;
NestedScrollView bottomsheet;
BottomSheetBehavior behavior;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.btn);
bottomsheet = (NestedScrollView) findViewById(R.id.bottomsheet);
behavior = BottomSheetBehavior.from(bottomsheet);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(behavior.getState()==BottomSheetBehavior.STATE_COLLAPSED)
behavior.setState(BottomSheetBehavior.STATE_EXPANDED);
else
behavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
behavior.setPeekHeight(0);
}
});
}
这是activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="com.example.qurdadzze.b.MainActivity">
<Button
android:id="@+id/btn"
android:layout_width="150dp"
android:layout_height="50dp"
android:text="show bottom sheet"/>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="300dp"
android:background="#99cc99"
android:elevation="100dp"
android:id="@+id/bottomsheet"
app:layout_behavior="@string/bottom_sheet_behavior">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:layout_gravity="center|top"
android:gravity="center"
android:text="it is me Bottom Sheet"/>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
答案 0 :(得分:0)
你必须设置Bottomsheet的peekheight。
android.support.design:behavior_peekHeight折叠时底部纸张的高度。
尝试在NestedScrollView中使用以下代码:
app:behavior_peekHeight="50dp"
有关详细信息,请查看以下链接: http://www.truiton.com/2016/07/android-bottom-sheet-example/