Android ListView高度自适应和ScrollView冲突解决

来源:互联网 发布:编程猫估值 编辑:程序博客网 时间:2024/06/14 00:00

    参考这位前辈:http://blog.sina.com.cn/s/blog_9fb0b14f0102v39y.html。还有这位前辈对自定义measure方法详细解释,非常详细:http://blog.csdn.net/hanhailong726188/article/details/46136569

在listview中需要在listview外层嵌套一个scroll,以便能控制滑动的空间,让每一次点击listview的item下方弹出的菜单,当最下面一行不会使菜单出现在不该出现的位置。当添加scroll在listview,发现listview的高度只有一个了,怎么设置高度固定的和match_parent都是没用的,需要重写lsitview才能解决,重写的listview的代码如下:

public class MyListView extends ListView {public MyListView(Context context) {super(context);}public MyListView(Context context, AttributeSet attrs) {super(context, attrs);}public MyListView(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);}@Overridepublic void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,MeasureSpec.AT_MOST);super.onMeasure(widthMeasureSpec, expandSpec);}}

listview的文件如下:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:background="@color/background"    android:orientation="vertical" >    <TextView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:gravity="center_horizontal"        android:text="報價"        android:textColor="@color/white"        android:textSize="16sp" />    <ScrollView        android:id="@+id/price_scroll"        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:background="@color/background" >        <allone.verbank.apad.client.component.fixedListView.PriceListViewScroll            android:id="@+id/price_quote_list"            android:layout_width="fill_parent"            android:layout_height="fill_parent"            android:divider="@color/white" >       </allone.verbank.apad.client.component.fixedListView.PriceListViewScroll>    </ScrollView></LinearLayout>


0 0
原创粉丝点击