public class ScrollviewSupportMaxHeight extends ScrollView {
   
    public final int MAX_HEIGHT = 150;

    public ScrollviewSupportMaxHeight(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        measureChildren(widthMeasureSpec, heightMeasureSpec);
        setMeasuredDimension(MeasureSpec.getSize(widthMeasureSpec), measureHeight(heightMeasureSpec));
    }
   
    private int measureHeight(int heightMeasureSpec) {
        int size = 0;
        if(MeasureSpec.getMode(heightMeasureSpec) != MeasureSpec.EXACTLY) {
            size = getChildAt(0).getMeasuredHeight();
        } else {
            size = MeasureSpec.getSize(heightMeasureSpec);
        }
        return size > MAX_HEIGHT ? MAX_HEIGHT : size;
    }
}

实现ScrollviewSupportMaxHeight的更多相关文章

随机推荐

  1. Spring事务处理探究

    开发环境: OS:windows XP       Web Server: jakarta-tomcat-5.0.28       DataBase Server: MS SQL Server 200 ...

  2. go omitempty 忽略类型

    nil false 0 每个结构字段的编码可以通过结构字段标签中“json”键下存储的格式字符串来定制.格式字符串给出字段的名称,可能后跟逗号分隔的选项列表.名称可能为空,以指定选项而不覆盖默认字段名 ...

  3. TextView设置最多显示指定个字符,超过部分显示...(省略号)

    今天在公司遇到一个需求:TextView设置最多显示8个字符,超过部分显示...(省略号),网上找了很多资料,有人说分别设置TextView的android:signature="true& ...

  4. arm指令版本

    arm-linux-readelf 查看 armeabi Tag_CPU_name: "5TE" Tag_CPU_arch: v5TE armeabi-v7a Tag_CPU_na ...

  5. Python 3.6学习笔记(一)

    知识是一座宝库,而实践就是开启这座宝库的钥匙. ----Thomas Fuller 开始之前 基础示例 Python语法基础,python语法比较简单,采用缩紧方式. # print absolute ...

  6. 500 OOPS: vsftpd: cannot locate user specified in 'chown_username':whoever

    错误:500 OOPS: vsftpd: cannot locate user specified in 'chown_username':whoever解决方案:在vsftpd.conf中修改如下两 ...

  7. 24.Semaphore

    Semaphore     在进程方面完成信号线的控制,可以控制某个资源下,可被同时访问的线程个数.对系统的访问量进行评估,信号量维护了一个许可集:在许可前会阻塞每一个 semaphore.acqui ...

  8. 我所遭遇过的游戏中间件--Kynapse

    我所遭遇过的游戏中间件--Kynapse Autodesk Kynapse游戏中间件是一款面向游戏开发.非玩家控制角色实时模拟的领先的人工智能解决方案.Kynapse具有先进的路径查找功能,比如三维路 ...

  9. IE11与Cognos怪谈

    想必大家都知道高版本的IE运行Cognos相关组件的时候要设置兼容性,安全级别相对调低等设置.但是升级了win10系统后,默认的IE版本是IE11的,装了Cognos10.2.1之后,进行了一个常规的 ...

  10. 查看centos当前版本

    # rpm -q centos-release centos-release-5-4.el5.centos.1