android – 在底部工作表中向下滚动
作者:互联网
我想在底部工作表完全打开时向下滚动视图(向上拖动到完成屏幕).它向上滚动时效果很好但在向下滚动时不起作用.相反,整个底层都下降了.任何出路?
主要活动
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>
解决方法:
我有同样的问题,并使用android.support.v4.widget.NestedScrollView修复它.下面是我的底部布局代码
<?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>
标签:android,scrollview,bottom-sheet 来源: https://codeday.me/bug/20190519/1134257.html