我的应用中的滚动视图中有一个列表视图。
我在运行时向listview添加数据,但由于scrollview是listview的父级,我无法滚动列表视图的所有元素,并且底部只能看到listview的一个元素
所以有任何方法可以禁用listview滚动。
Listview位于布局的底部
list.xml
<?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:background="@drawable/repeat"
android:orientation="vertical" >
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp
"
android:layout_marginRight="10dp"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageView
android:id="@+id/close"
android:layout_width="50dp"
android:layout_height="50dp"
android:padding="10dp"
android:src="@drawable/closeicon" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:orientation="horizontal" >
<RelativeLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" >
<TextView
android:id="@+id/loved"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginTop="5dp"
android:text="Loved"
android:textColor="@color/d0d2d3"
android:textSize="@dimen/twelevetweleve" />
</RelativeLayout>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" >
<TextView
android:id="@+id/viewed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginTop="5dp"
android:text="viewed"
android:textColor="@color/d0d2d3"
android:textSize="@dimen/twelevetweleve" />
</RelativeLayout>
</LinearLayout>
</LinearLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/share"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerVertical="true"
android:src="@drawable/newshareicon" />
<com.nearify.android.RoundedImageView
android:id="@+id/eventimage"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/noimagenearify" />
<ImageView
android:id="@+id/loveicon"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@drawable/loveicon" />
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:padding="5dp"
android:text="gggggggggggg"
android:textColor="@color/whitecolor"
android:textSize="@dimen/fourteen"
android:textStyle="bold" />
</RelativeLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal" >
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_gravity="center_vertical"
android:background="@drawable/timeicon" />
<TextView
android:id="@+id/starts"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="10dp"
android:text="starts ongoing"
android:textColor="@color/d0d2d3"
android:textSize="@dimen/twelevetweleve" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal" >
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_gravity="center_vertical"
android:background="@drawable/timeicon" />
<TextView
android:id="@+id/ends"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="10dp"
android:text="ends ongoing"
android:textColor="@color/d0d2d3"
android:textSize="@dimen/twelevetweleve" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal" >
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:background="@drawable/venueicon" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:orientation="vertical" >
<TextView
android:id="@+id/address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="address ongoing"
android:textColor="@color/d0d2d3"
android:textSize="@dimen/twelevetweleve" />
<TextView
android:id="@+id/addressdetail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="10dp"
android:text="addressdetail ongoing"
android:textColor="@color/d0d2d3"
android:textSize="@dimen/twelevetweleve" />
</LinearLayout>
</LinearLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_marginLeft="-10dp"
android:layout_marginTop="20dp"
android:background="@color/d0d2d3" >
</RelativeLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/calender"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical" >
<ImageView
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_gravity="center_horizontal"
android:background="@drawable/calendaricon" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="calender"
android:textColor="@color/d0d2d3"
android:textSize="@dimen/twelevetweleve" />
</LinearLayout>
<LinearLayout
android:id="@+id/direction"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical" >
<ImageView
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_gravity="center_horizontal"
android:background="@drawable/calendaricon" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="direction"
android:textColor="@color/d0d2d3"
android:textSize="@dimen/twelevetweleve" />
</LinearLayout>
<LinearLayout
android:id="@+id/ticket"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical" >
<ImageView
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_gravity="center_horizontal"
android:background="@drawable/calendaricon" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="ticket"
android:textColor="@color/d0d2d3"
android:textSize="@dimen/twelevetweleve" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/custombordertrans"
android:orientation="horizontal" >
<RelativeLayout
android:id="@+id/Details"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1" >
<TextView
android:id="@+id/Detailstext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:padding="8dp"
android:text="Details"
android:textColor="@color/d0d2d3"
android:textSize="@dimen/twelevetweleve" />
</RelativeLayout>
<RelativeLayout
android:layout_width="1dp"
android:layout_height="fill_parent"
android:background="@color/d0d2d3" >
</RelativeLayout>
<RelativeLayout
android:id="@+id/peoples"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1" >
<TextView
android:id="@+id/peoplestext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:padding="8dp"
android:text="Related Peoples"
android:textColor="@color/d0d2d3"
android:textSize="@dimen/twelevetweleve" />
</RelativeLayout>
<RelativeLayout
android:layout_width="1dp"
android:layout_height="fill_parent"
android:background="@color/d0d2d3" >
</RelativeLayout>
<RelativeLayout
android:id="@+id/artists"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1" >
<TextView
android:id="@+id/artiststext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:padding="8dp"
android:text="Related Artist"
android:textColor="@color/d0d2d3"
android:textSize="@dimen/twelevetweleve" />
</RelativeLayout>
</LinearLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:padding="5dp"
android:text="Details"
android:textColor="@color/d0d2d3"
android:textSize="@dimen/twelevetweleve" />
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<ListView
android:id="@+id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone" >
</ListView>
<WebView
android:id="@+id/web"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone" />
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
</RelativeLayout>
</LinearLayout>
</ScrollView>
答案 0 :(得分:2)
最后我找到了解决方案,在java中制作自定义可扩展列表视图
ExpandableListView.java
public class ExpandableListView extends ListView{
ExpandableListView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
ExpandableListView(Context context) {
super(context);
}
public ExpandableListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// Calculate entire height by providing a very large height hint.
// View.MEASURED_SIZE_MASK represents the largest height possible.
int expandSpec = MeasureSpec.makeMeasureSpec(MEASURED_SIZE_MASK, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
ViewGroup.LayoutParams params = getLayoutParams();
params.height = getMeasuredHeight();
}
}
list.xml(用法)
<com.example.ExpandableListView
android:id="@+id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</com.example.ExpandableListView>