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

    参考这位前辈: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);
}

@Override
public 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值