【发布时间】:2018-03-19 16:24:04
【问题描述】:
我在ScrollView 中创建了一个可扩展列表视图。当我想在 Expandable ListView 内滚动时,我必须选择它并在滚动时按住它,否则整个页面都会滚动。这是我的代码
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.kitkat.crossroads.JobBidsFragment">
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:focusable="true"
android:focusableInTouchMode="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/textViewJobInformation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/bebasneueregular"
android:text="Job Information"
android:textAlignment="center"
android:textSize="30dp"
tools:layout_editor_absoluteX="163dp"
tools:layout_editor_absoluteY="16dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
<TextView
android:id="@+id/viewName"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/textViewJobName1"
android:layout_alignTop="@id/textViewJobName1"
android:background="#FFFFFFFF"
android:gravity="center_vertical"
android:paddingVertical="10dp"
android:text=" Job:"
android:textAlignment="viewStart"
android:textColor="#FF000000"
android:visibility="visible" />
<TextView
android:id="@+id/textViewJobName1"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:background="#FFFFFFFF"
android:gravity="center_vertical"
android:paddingLeft="10dp"
android:paddingVertical="10dp"
android:text="text"
android:textColor="#FF000000"
android:visibility="visible" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
<TextView
android:id="@+id/viewDesc"
android:layout_width="140dp"
android:layout_height="match_parent"
android:layout_alignBottom="@id/textViewJobDescription1"
android:layout_alignTop="@id/textViewJobDescription1"
android:background="#FFFFFFFF"
android:gravity="center_vertical"
android:paddingVertical="10dp"
android:text=" Description:"
android:textAlignment="viewStart"
android:textColor="#FF000000"
android:visibility="visible" />
<TextView
android:id="@+id/textViewJobDescription1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/textName"
android:layout_weight="3"
android:background="#FFFFFFFF"
android:gravity="center_vertical"
android:paddingLeft="10dp"
android:paddingVertical="10dp"
android:text="TextView"
android:textColor="#FF000000"
android:visibility="visible"
/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
<TextView
android:id="@+id/viewSize"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/textViewJobSize1"
android:layout_alignTop="@id/textViewJobSize1"
android:background="#FFFFFFFF"
android:gravity="center_vertical"
android:paddingVertical="10dp"
android:text=" Job Size:"
android:textAlignment="viewStart"
android:textColor="#FF000000"
android:visibility="visible" />
<TextView
android:id="@+id/textViewJobSize1"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/textName"
android:background="#FFFFFFFF"
android:gravity="center_vertical"
android:paddingLeft="10dp"
android:paddingVertical="10dp"
android:text="TextView"
android:textColor="#FF000000"
android:visibility="visible" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
<TextView
android:id="@+id/viewType"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:background="#FFFFFFFF"
android:gravity="center_vertical"
android:paddingVertical="10dp"
android:text=" Job Type:"
android:textAlignment="viewStart"
android:textColor="#FF000000"
android:visibility="visible" />
<TextView
android:id="@+id/textViewJobType1"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/textName"
android:background="#FFFFFFFF"
android:gravity="center_vertical"
android:paddingLeft="10dp"
android:paddingVertical="10dp"
android:text="TextView"
android:textColor="#FF000000"
android:visibility="visible" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="200dp">
<ExpandableListView
android:id="@+id/expandable_list_view"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:pointerIcon="arrow"
android:dividerHeight="3dp">
</ExpandableListView>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
</LinearLayout>
</LinearLayout>
<!-- ACTIVE BIDS PART -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="10dp">
<TextView
android:id="@+id/textView5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/bebasneueregular"
android:text="Active bids"
android:textAlignment="center"
android:textSize="30dp"
tools:layout_editor_absoluteX="163dp"
tools:layout_editor_absoluteY="16dp" />
<SearchView
android:id="@+id/searchViewJob"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:iconifiedByDefault="false"
android:queryHint="Name, Location, Size, etc." />
<ListView
android:id="@+id/jobListView1"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
</LinearLayout>
</ScrollView>
</FrameLayout>
我希望用户能够选择 Expandable ListView 并显示不可滚动的子信息。有没有办法在滚动视图就位的同时实现这一点
有没有办法使 Expandable ListView 不可滚动或使其与 ScrollView 一起使用
编辑 - 使用 NestedScrollView
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.kitkat.crossroads.JobBidsFragment">
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:focusable="true"
android:focusableInTouchMode="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/textViewJobInformation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/bebasneueregular"
android:text="Job Information"
android:textAlignment="center"
android:textSize="30dp"
tools:layout_editor_absoluteX="163dp"
tools:layout_editor_absoluteY="16dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
<TextView
android:id="@+id/viewName"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/textViewJobName1"
android:layout_alignTop="@id/textViewJobName1"
android:background="#FFFFFFFF"
android:gravity="center_vertical"
android:paddingVertical="10dp"
android:text=" Job:"
android:textAlignment="viewStart"
android:textColor="#FF000000"
android:visibility="visible" />
<TextView
android:id="@+id/textViewJobName1"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:background="#FFFFFFFF"
android:gravity="center_vertical"
android:paddingLeft="10dp"
android:paddingVertical="10dp"
android:text="text"
android:textColor="#FF000000"
android:visibility="visible" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
<TextView
android:id="@+id/viewDesc"
android:layout_width="140dp"
android:layout_height="match_parent"
android:layout_alignBottom="@id/textViewJobDescription1"
android:layout_alignTop="@id/textViewJobDescription1"
android:background="#FFFFFFFF"
android:gravity="center_vertical"
android:paddingVertical="10dp"
android:text=" Description:"
android:textAlignment="viewStart"
android:textColor="#FF000000"
android:visibility="visible" />
<TextView
android:id="@+id/textViewJobDescription1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/textName"
android:layout_weight="3"
android:background="#FFFFFFFF"
android:gravity="center_vertical"
android:paddingLeft="10dp"
android:paddingVertical="10dp"
android:text="TextView"
android:textColor="#FF000000"
android:visibility="visible"
/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
<TextView
android:id="@+id/viewSize"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/textViewJobSize1"
android:layout_alignTop="@id/textViewJobSize1"
android:background="#FFFFFFFF"
android:gravity="center_vertical"
android:paddingVertical="10dp"
android:text=" Job Size:"
android:textAlignment="viewStart"
android:textColor="#FF000000"
android:visibility="visible" />
<TextView
android:id="@+id/textViewJobSize1"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/textName"
android:background="#FFFFFFFF"
android:gravity="center_vertical"
android:paddingLeft="10dp"
android:paddingVertical="10dp"
android:text="TextView"
android:textColor="#FF000000"
android:visibility="visible" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
<TextView
android:id="@+id/viewType"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:background="#FFFFFFFF"
android:gravity="center_vertical"
android:paddingVertical="10dp"
android:text=" Job Type:"
android:textAlignment="viewStart"
android:textColor="#FF000000"
android:visibility="visible" />
<TextView
android:id="@+id/textViewJobType1"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/textName"
android:background="#FFFFFFFF"
android:gravity="center_vertical"
android:paddingLeft="10dp"
android:paddingVertical="10dp"
android:text="TextView"
android:textColor="#FF000000"
android:visibility="visible" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="200dp">
<ExpandableListView
android:id="@+id/expandable_list_view"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:pointerIcon="arrow"
android:dividerHeight="3dp">
</ExpandableListView>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
</LinearLayout>
</LinearLayout>
<!-- ACTIVE BIDS PART -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="10dp">
<TextView
android:id="@+id/textView5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/bebasneueregular"
android:text="Active bids"
android:textAlignment="center"
android:textSize="30dp"
tools:layout_editor_absoluteX="163dp"
tools:layout_editor_absoluteY="16dp" />
<SearchView
android:id="@+id/searchViewJob"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:iconifiedByDefault="false"
android:queryHint="Name, Location, Size, etc." />
<ListView
android:id="@+id/jobListView1"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</FrameLayout>
【问题讨论】:
-
你用nestedScrollView试过了吗? @javacoder123
-
我尝试使用一个,但我不确定我是否正确使用它,我将上传我在嵌套滚动视图中使用的代码。@Antonio
-
我使用 NestedScrollView 的代码不起作用
-
nestedScrollView 用于使滚动独立于父级,但如果它不适合您.. 我找到了:stackoverflow.com/questions/22729772/…
-
不客气,如果你愿意,我可以在这里发帖,你可以为遇到同样问题的人选择正确答案:)
标签: android xml kotlin scrollview expandablelistview