I want to scroll the view down when the bottom sheet is fully up (Dragged up to complete screen). It works good when it scrolls up but it does not work when it scrolls down. Rather, the whole bottom sheet comes down. Any way out?
Main Activity
import android.os.Bundle;
import android.support.design.widget.BottomSheetBehavior;
import android.support.design.widget.BottomSheetDialog;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.util.TypedValue;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button fab = (Button) findViewById(R.id.button);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(MainActivity.this);
View parentView = getLayoutInflater().inflate(R.layout.sheetlayout,null);
bottomSheetDialog.setContentView(parentView);
BottomSheetBehavior bottomSheetBehavior = BottomSheetBehavior.from((View) parentView.getParent());
bottomSheetBehavior.setPeekHeight(
(int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP,100,getResources().getDisplayMetrics()
)
);
bottomSheetDialog.show();
}
});
}
}
SheetLayout.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
android:layout_height="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:text="button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button1" />
<Button
android:text="button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button2" />
<Button
android:text="button3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button3" />
<Button
android:text="button4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button4" />
<Button
android:text="button5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button5" />
<Button
android:text="button6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button18" />
<Button
android:text="button7"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button7" />
<Button
android:text="button8"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button8" />
<Button
android:text="button9"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button9" />
<Button
android:text="button10"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button10" />
<Button
android:text="button11"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button11" />
<Button
android:text="button12"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button12" />
<Button
android:text="button13"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button13" />
<Button
android:text="button14"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button14" />
<Button
android:text="button15"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button15" />
<Button
android:text="button16"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button16" />
<Button
android:text="button17"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button17" />
<Button
android:text="button18"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button6" />
</LinearLayout>
</ScrollView>
Edit1
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
android:layout_height="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent">
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:text="button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button1" />
<Button
android:text="button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button2" />
<Button
android:text="button3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button3" />
<Button
android:text="button4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button4" />
<Button
android:text="button5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button5" />
<Button
android:text="button6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button18" />
<Button
android:text="button7"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button7" />
<Button
android:text="button8"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button8" />
<Button
android:text="button9"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button9" />
<Button
android:text="button10"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button10" />
<Button
android:text="button11"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button11" />
<Button
android:text="button12"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button12" />
<Button
android:text="button13"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button13" />
<Button
android:text="button14"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button14" />
<Button
android:text="button15"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button15" />
<Button
android:text="button16"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button16" />
<Button
android:text="button17"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button17" />
<Button
android:text="button18"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button6" />
</LinearLayout>
</android.support.design.widget.CoordinatorLayout>
</ScrollView>
Edit2
<?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"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
android:layout_width="match_parent"
app:layout_behavior="android.support.design.widget.BottomSheetBehavior"
android:layout_height="match_parent">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<Button
android:text="@string/button1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:id="@+id/button1"
android:layout_weight="0.66" />
<Button
android:text="button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button2" />
<Button
android:text="button3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button3" />
<Button
android:text="button4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button4" />
<Button
android:text="button5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button5" />
<Button
android:text="button6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button18" />
<Button
android:text="button7"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button7" />
<Button
android:text="button8"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button8" />
<Button
android:text="button9"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button9" />
<Button
android:text="@string/button10"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button10" />
<Button
android:text="@string/button11"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button11" />
<Button
android:text="@string/button12"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button12" />
<Button
android:text="button13"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button13" />
<Button
android:text="button14"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button14" />
<Button
android:text="button15"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button15" />
<Button
android:text="button16"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button16" />
<Button
android:text="button17"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button17" />
<Button
android:text="button18"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button6" />
</LinearLayout>
</ScrollView>
</android.support.design.widget.CoordinatorLayout>
I had same problem and fixed it using android.support.v4.widget.NestedScrollView. below is my code for bottom sheet layout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="8dp"
android:paddingTop="8dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:foreground="?attr/selectableItemBackground"
android:orientation="horizontal"
android:paddingBottom="8dp"
android:paddingLeft="@dimen/activity_margin"
android:paddingRight="@dimen/activity_margin"
android:paddingTop="8dp">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginRight="32dp"
android:src="@drawable/ic_email_black_24dp"
android:tint="#737373" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="Email a Copy"
android:textColor="#737373"
android:textSize="16sp" />
</LinearLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:id="@+id/webpage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"></WebView>
</android.support.v4.widget.NestedScrollView>
</LinearLayout>