Android动态设置控件大小
来源:互联网 发布:java double消除误差 编辑:程序博客网 时间:2024/06/18 05:40
最近做新项目的过程中,由于有些控件不能固定大小,必须要采用动态的方式进行设置。在网上找了很久,比较可行的有2种方案。
第一种:动态测量参照控件,再进行设置:
<span style="font-size:14px;"> viewholder.bottomRLY.measure(0, 0); int rlyheight=viewholder.bottomRLY.getMeasuredHeight(); String[] mrsimgurl=accepts.get(position).getMrspicurl().split(","); int[] ids={R.id.image1_iv,R.id.image2_iv,R.id.image3_iv}; isImgVisible(mrsimgurl, ids);</span>经过测试,这种方式由于在加载控件的时候,需要执行测量,所以会导致有一些延迟。所以更推荐第二种方式:
第二种:采用OnGlobalLayoutListener监听:
<span style="font-size:14px;"> viewholder.bottomRLY.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { @Override public void onGlobalLayout() { int rlyheight = viewholder.bottomRLY.getHeight(); RelativeLayout.LayoutParams params= (android.widget.RelativeLayout.LayoutParams) viewholder.imgLLY.getLayoutParams(); params.height=rlyheight; viewholder.imgLLY.setLayoutParams(params); // viewholder.bottomRLY.getViewTreeObserver().removeGlobalOnLayoutListener(this);}} );</span>此方式,在设置布局大小的时候,丝毫无延迟。原因是:通过OnGlobalLayoutListener事件,布局在加载完成或者发生变化的时候,都会被监听到。我们可以在布局加载完成的瞬间得到空间的宽和高。
更详细内容可参考:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0802/1641.html
0 0
- android 动态设置控件大小
- Android动态设置控件大小
- android动态设置控件大小
- Android 开发,JAVA动态设置控件大小
- android 动态设置控件的大小 和 动态添加控件
- Android 动态指定屏幕朝向,动态设置控件位置大小
- android 动态控件大小
- 动态设置控件大小位置
- 动态设置控件的大小
- android动态设置控件的大小和位置
- 动态改变Android控件大小
- 动态改变Android控件大小
- 动态改变Android控件大小
- Android 动态改变控件大小
- 动态改变Android控件大小
- Android动态改变控件大小
- Android 屏幕适配攻略(五)动态创建控件并设置控件的大小
- c#动态设置控件位置及大小
- Shell 中{},[],()用法大全
- 十字路口交通信号灯问题之代码实现
- Ubuntu Kylin中编译运行cgminer挖矿软件
- 比尔盖茨的15个预言,如今全已成真
- 【FPGA/VHDL/QUARTU】关于quartusII 错误 Error: Current license file does not support the EP1C6Q240C8 device
- Android动态设置控件大小
- 6--黑马程序员--技术总结之继承与接口
- 第一篇博客
- 7--黑马程序员--技术总结之几个重要的关键字
- lucene4.10.3入门教程
- Codeforces Round #167 (Div. 1)B
- PPP
- 动态规划要点
- EFM32之外部中断