[英]How to make Android ExpandableListView not scrollable?
I can't figure it out how to make ExpandableListView not scrollable, always at full size and positioning at the bottom of the layout, but also maintain the ability to scroll the textView if it goes out of bounds.我无法弄清楚如何使 ExpandableListView 不可滚动,始终处于全尺寸并定位在布局的底部,而且还保持在 textView 超出范围时滚动的能力。 I know it is not recommended to have ListView in ScrollView.我知道不建议在 ScrollView 中使用 ListView。 But how to achieve this?但如何实现这一目标? Now everything looks like this:现在一切看起来像这样:
The layout:布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:layout_height="wrap_content"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="16dp">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:srcCompat="@mipmap/ic_launcher"
android:id="@+id/imageView2" />
<TextView
android:text="Order description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/imageView2"
android:id="@+id/orderDescr"
android:paddingTop="5dp" />
</RelativeLayout>
</ScrollView>
<TextView
android:text="label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textView5"
android:paddingTop="15dp"
android:paddingLeft="16dp"
android:paddingRight="16dp" />
<ExpandableListView
android:id="@+id/expandableListView"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:indicatorLeft="?
android:attr/expandableListPreferredItemIndicatorLeft"
android:childDivider="#00000000"
android:layout_below="@+id/orderDescr"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="5dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:headerDividersEnabled="false"
android:footerDividersEnabled="false"
android:isScrollContainer="false" />
</LinearLayout>
ExpandableListView lv = (Expandable) findViewById(R.id.layout_lv);
lv.setOnTouchListener(new OnTouchListener() {
// Setting on Touch Listener for handling the touch inside ScrollView
@Override
public boolean onTouch(View v, MotionEvent event) {
// Disallow the touch request for parent scroll on touch of child view
v.getParent().requestDisallowInterceptTouchEvent(true);
return false;
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.