布局不刷新的问题

glacierful 2014-07-24 04:26:19
继承AbsoluteLayout生成了一个类,在构造函数中addView所有字控件。然后在onSizeChanged中调整各个子控件的大小。使用setLayoutParams设置了布局参数。
但只有x,y参数起作用了,宽度和高度完全没有反应,好像就是正好是内容的大小。
...全文
250 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ipip2005 2014-07-29
  • 打赏
  • 举报
回复
absolute就是不建议使用,它很难满足对布局自适应的要求,用margin属性吧
glacierful 2014-07-29
  • 打赏
  • 举报
回复
引用 8 楼 ipip2005 的回复:
relativelayout也可以啊,不但能满足自适应,你也可以限死距离父view边界的距离,不就是和absolute一个用法么
如何设置距父边缘的距离呢?
glacierful 2014-07-29
  • 打赏
  • 举报
回复
引用 8 楼 ipip2005 的回复:
relativelayout也可以啊,不但能满足自适应,你也可以限死距离父view边界的距离,不就是和absolute一个用法么
我来试试relativelayout。 绝对布局被废弃,是不是在anroid系统渲染控件时,如果碰到绝对布局,就会被忽略? 因为编译时,并未报错。按我的理解,只是不建议使用,应该是支持的。 如果直接继承ViewGroup,自己实现一个绝对布局,是否可以绕过这个问题?
glacierful 2014-07-29
  • 打赏
  • 举报
回复
引用 3 楼 ilioili 的回复:
我觉得你很牛逼。我觉得你有必要了解一下onMeasure()是干嘛的,requestLayout()是干嘛的,还有LayoutParams的宽高和View的宽高是干嘛的。
由于是绝对布局,LayoutParams的参数指定了实际的宽、高。还有什么问题吗?
ipip2005 2014-07-29
  • 打赏
  • 举报
回复
relativelayout也可以啊,不但能满足自适应,你也可以限死距离父view边界的距离,不就是和absolute一个用法么
glacierful 2014-07-29
  • 打赏
  • 举报
回复
引用 4 楼 jefferyyangkai 的回复:
不要用AbsoluteLayout!!!永远不要!!!
对于一个配置文件,指定了控件的位置和大小。 解析这个文件,获取到所有的控件后,在窗口上准确显示出来,除了绝对布局,还有别的选择吗?
glacierful 2014-07-29
  • 打赏
  • 举报
回复
引用 5 楼 lionfresh 的回复:
因为不能根据分辨率自适应,AbsoluteLayout已经被废弃了。
被废弃了,但应该还能用吧。 特殊的项目需求,必须的根据坐标和大小来确定控件在屏幕上的位置。 我这个程序,会根据原始的窗口尺寸和当前屏幕分辨率的比例,对实际控件的位置和尺寸进行缩放。
明日辉黄2 2014-07-29
  • 打赏
  • 举报
回复
引用 9 楼 glacierful 的回复:
[quote=引用 3 楼 ilioili 的回复:] 我觉得你很牛逼。我觉得你有必要了解一下onMeasure()是干嘛的,requestLayout()是干嘛的,还有LayoutParams的宽高和View的宽高是干嘛的。
由于是绝对布局,LayoutParams的参数指定了实际的宽、高。还有什么问题吗?[/quote] 首先,指定你自定义的AbsoluteLayout的宽高和子控件的宽高应该是在onMeasure(int , int)方法中完成的,子控件的LayoutParams要想有效,也最好是在调用measure子控件之前设置。你一定要在onSizeChanged方法里设置的话,请在设置完成后调用requestLayout,这会再次调用onMeasure方法,这时候你的子控件是有LayoutParams的
lionfresh 2014-07-25
  • 打赏
  • 举报
回复
因为不能根据分辨率自适应,AbsoluteLayout已经被废弃了。
jefferyyangkai 2014-07-25
  • 打赏
  • 举报
回复
不要用AbsoluteLayout!!!永远不要!!!
明日辉黄2 2014-07-24
  • 打赏
  • 举报
回复
我觉得你很牛逼。我觉得你有必要了解一下onMeasure()是干嘛的,requestLayout()是干嘛的,还有LayoutParams的宽高和View的宽高是干嘛的。
sagittarius1988 2014-07-24
  • 打赏
  • 举报
回复
我只能说呵呵
glacierful 2014-07-24
  • 打赏
  • 举报
回复
搞了差不多一天了,感觉anroid的这种布局设计,实在是太糟糕了。也行google的想法不错,但实现的很糟。 哪个模拟器也是一会儿就不行了,然后就的重启。不得不说,google的这个产品,实在是垃圾。

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧