ScrollView和ListView一起使用 文本换行getMeasuredHeight等问题的解决

监听ScrollView滑动到最顶部和最顶部的完美实现 今天跟大家分享下在ScrollView中如何监听ScrollView是否滑动到了顶部还是最底部。这个需求一般在ScrollView嵌套ListView时会遇到,比如,在ScrollView中的ListView,需要实现分页加载的功能,就必须要监听是否滑动到了最底部。在ScrollView嵌套ListView的解决方案看这里:ScrollView嵌套ListView 首先,实现监听ScrollVi 阅读详情

首先,ListView不能直接用,要自定义一个,然后重写onMeasure()方法:

import android.content.Context;
import android.util.AttributeSet;
import android.widget.ListView;

public class MyListView extends ListView {

 public MyListView(Context context) {
  super(context);
  // TODO Auto-generated constructor stub
 }
 public MyListView(Context context,AttributeSet as) {
  super(context,as);
  // TODO Auto-generated constructor stub
 }
 @Override 
 protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 
     int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, 
             MeasureSpec.AT_MOST); 
     super.onMeasure(widthMeasureSpec, expandSpec); 
 }
}

第二步:写个计算listView每个Item的方法:
public void setListViewHeightBasedOnChildren(ListView listView) {
  // 获取ListView对应的Adapter
  ListAdapter listAdapter = listView.getAdapter();
  if (listAdapter == null) {
   return;
  }
  int totalHeight = 0;
  for (int i = 0; i < listAdapter.getCount(); i++) { // listAdapter.getCount()返回数据项的数目
   View listItem = listAdapter.getView(i, null, listView);
   listItem.measure(0, 0); // 计算子项View 的宽高
   totalHeight += listItem.getMeasuredHeight(); // 统计所有子项的总高度
  }
  ViewGroup.LayoutParams params = listView.getLayoutParams();
  params.height = totalHeight
    + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
  // listView.getDividerHeight()获取子项间分隔符占用的高度
  // params.height最后得到整个ListView完整显示需要的高度
  listView.setLayoutParams(params);
 }

 

第三步:listview添加适配器后设置高度即可:
listView.setAdapter(adapter); 
new ListViewUtil().setListViewHeightBasedOnChildren(listView);

AutoSAR RTE调度机制揭秘:从定时器事件到Runnable执行的完整流程 本文深入解析了AutoSAR RTE(运行时环境)的核心调度机制,详细阐述了从定时器事件触发到Runnable(可运行实体)执行的完整流程。通过剖析Rte_Start()函数、OS任务与警报的交互,以及事件驱动循环,揭示了RTE如何作为幕后指挥家,高效、可靠地协调软件组件间的周期性任务执行,是打通AutoSAR应用开发的关键。 阅读详情

相关推荐

使用Termux在Android设备上编译运行SpecCPU2006

SPEC2006搭配Termux,竟然还能这么玩?!

菜菜的菜园子 2958

ScrollView如何判断滑动到底部以及getHeight()方法与getMeasuredHeight()方法的一些理解

上面的这张图就是如何判断scrollview是否滑动到底部的分析图。 而这里面提到了getHeight和getMeasuredHeight两种获取控件高度的方法:      我看网上大多数是说getHeight方法得到的是屏幕显示出来的部分高度值,而getMeasuredHeight是实际高度值,简单来说就是:getMeasuredHeight = getHeight + 超出屏幕部分所显示出

wozuihaole的博客 2906

训练集、验证集、测试集!YOLO系列标签数量统计!

【代码】训练集、验证集、测试集!YOLO系列标签数量统计!

qq_26281057的博客 649

ScrollView和ListView一起使用 文本换行getMeasuredHeight等问题的解

首先,ListView不能直接用,要自定义一个,然后重写onMeasure()方法: import android.content.Context; import android.util.AttributeSet; import android.widget.ListView; public class MyListView extends ListView { public

xuzhuaaron1的博客 844

数字IC后端新手必看:Innovus从安装到跑通第一个设计的完整流程(附常用命令清单)

本文为数字IC后端设计新手提供了Cadence Innovus工具的完整实战指南。详细介绍了从环境搭建、软件安装与许可证配置,到加载网表、库文件和约束,并逐步完成布局规划、单元布局、时钟树综合、布线及物理验证的核心使用流程。文章最后附有常用Tcl命令清单,帮助初学者快速上手并跑通第一个设计。

vscode5coder的博客 1235

Xilinx-复旦微-FPGA-眼图BlockDesign系统制作-针对PCIE系统

XIlinx-复旦微电子-FPGA-眼图BlockDesign系统制作-针对PCIE系统,手把手教你如何建立眼图测试

weixin_43444334的博客 2596

View中getMeasuredHeight()和getHeight()区别

转自:http://ningtukun.blog.163.com/blog/static/18654144520137483928815/

亚特兰蒂斯 1993

看完这篇你就能讲解LLC软开关:一文秒懂 ZVS 和 ZCS 到底啥意思!

想要 MOS 管ZVS 好实现➜ 把工作频率保持在 fr1 或更高。想让整流二极管也ZCS 实现➜ 频率就别高过 fr1。设计磁性元件时,一定要计算好 Lr、Lm、Cr 的值,这直接决定你 fr、fr1 是多少!LLC 的软开关技术不是“魔法”,是电感电容+频率控制的精妙组合;fr1 就像黄金分割点,整流和开关都能“刚刚好”;不是所有软开关都能同时实现,要看你在频率曲线的哪一段!

weixin_43199439的博客 1529

listview测量item的高度

view.measure(0,0); height=view.getMeasuredHeight(); 先measure  再获取

windyyi的博客 632

使用自制的NTC测量模块测试Plecs的热仿真效果

可以测试:您完全可以用这个模型来测试热仿真。NTC 模型是连接电气域和热域的关键桥梁。实现闭环:通过这种方式,您创建了一个高度真实的正反馈闭环系统:负载增加 -> 损耗增加 -> 温度升高 -> NTC 阻值变化 -> 控制电路可能因此调整(如降低频率或电流)-> 损耗变化 -> 温度变化。应用场景:这对于设计过温保护 (OTP) 电路风扇控制系统以及分析热失控条件非常有用。单位:确保热域中使用的单位( Kelvin 或 Celsius )与您的 C-Script 模型输入期望的单位一致。

311

IDCNBSAIS-财务报表功能范围取值管理费用、销售费用、研发费用排除指定科目的实现

研究了很多方法,没有办法实现,只在营业费用增加一个冲抵项解决,也咨询了外部顾问说要建立自建表。限于需要马上修正后面只能用了最最low的办法处理了一下。公司遇到的一个问题,目前报表有些项目是按照功能范围取值的,发现取多了。IDCNBSAIS-财务报表功能范围取值管理费用、销售费用、研发费用排除指定科目的实现。最后结果是正确的,但是总觉得有更好的办法,不知道有没有高人可以指点一下?建立一个调整项的目录,在每个节点做了调整。除了研发费用做了冲抵在以下每个节点都做了冲抵。为财务报表定义表格结构。

nopicture的博客 1491

关于getHeight与getMeasureHeight的问题

上上一篇讲了一些获取View宽高的一些方式,但这里会有一个问题可能有些人不知道,就是有些地方使用了getHeight,有些地方使用了getMeasureHeight,什么时候getHeight是有效的,什么时候getMeasureHeight是有效的,很多人都不是很清楚,大部分人只知道getMeasureHeight是获取一个View的测量高度,而getHeight是获取View的真实高度,那么问...

疾风剑豪 2353

LSTM+Transformer混合模型时间序列预测实战教学

LSTM+Transformer混合模型时间序列预测实战教学 毕业设计

8218

android 自定义ScrollView实现反弹效果(以及解决和ListView之间的冲突)

From:http://blog.youkuaiyun.com/jj120522/article/details/8204434

MaximusKiang的专栏 1092

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ScrollView与ListView合用(TextView多行显示时计算不正确)的问题解决

最近碰到在在网上搜索了一下

Nio96的专栏 1468

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Picasso,listview和scrollview混合嵌套的问题

我在listview中用Picasso加载网络的图片, 在重写listview的高度的时候出现了问题, 我先用measure清除完一个listitem的宽高,然后调getMeasuredHeight();获取item高度 可是第一次加载这个listview所在的页面的时候  getMeasuredHeight获取的高度不正确 后来又用其他的方法试,是没问题的 说明我Picasso影响ge

梦铃之境的专栏 662

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

在 Listview和 Scrollview一起用时,listview计算不准确的解决办法

第一步 重写 Listview  建一个新的类 public class MyListView extends ListView{ public MyListView(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub }

wangchunshun的专栏 535

ScrollView嵌套ListView只显示一行之计算的高度不正确的解决办法

ScrollView嵌套ListView只显示一行之计算的高度不正确的解决办法 AndroidScrollView嵌套ListView显示一行高度不正确 1、前言 从谷歌那里找到的ScrollView嵌套ListView只显示一行的解决办法相信很多人都遇到过,然后大部分都是用这位博主的办法解决的吧 刚开始我也是用这个办法解决的,首先感谢这位哥的大私奉献,贴上地址 http

u011548705的专栏 408

listview 和 scrollview 一起使用 listview 测量高度不准确

自定义 listview 重写 onmeasure方法 protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, ...

weixin_30394669的博客 102

ScrollView中嵌套ListView控件,数据无法显示完全

为什么80%的码农都做不了架构师?>>> ...

weixin_34167819的博客 196

ScrollView 嵌套listview 如果子item数量多的话 listview高度不准确问题

重新写 package com.jyt.msct.famousteachertitle.view; import android.annotation.SuppressLint; import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; impor

nano-11的专栏 579

动态计算listview的高度listItem.measure(0, 0)报空指针异常解决办法

当我们在使用Listview这类的控件和scrollview嵌套使用的时候会调用一个动态计算listview高度的方法。网上大部分方法基本都如下: public class Utils { public static void setListViewHeightBasedOnChildren(ListView listView) { ListAdapter

bobge的IT专栏 2116

滑动逐渐隐藏导航栏的实现

仿QQ 好友动态 导航栏的实现。 随着手指上下滑动,导航栏的背景透明度 跟随变化。 裤裤的感觉 有没有。 还不知道什么效果的请打开手机QQ 瞅一眼。

chinese_zhang的专栏 4470

getMeasuredHeight()跟getHeight()区别

记一次在onMeasure方法中getMeasuredHeight()跟getHeight()区别布局 <com.kaytrip.trip.expandabletextview.ExpandableTextView android:background="@color/colorAccent" xmlns:expandableTextView="http://sche

qq_34736014的博客 463
上一篇: 推荐移动建站工具
下一篇: GitHub上最火的74个Android开源项目
notebook034
博客等级 码龄16年 6粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值