搞了差不多一天了,感觉anroid的这种布局设计,实在是太糟糕了。也行google的想法不错,但实现的很糟。
哪个模拟器也是一会儿就不行了,然后就的重启。不得不说,google的这个产品,实在是垃圾。

解决方案 »

  1.   

    我觉得你很牛逼。我觉得你有必要了解一下onMeasure()是干嘛的,requestLayout()是干嘛的,还有LayoutParams的宽高和View的宽高是干嘛的。
      

  2.   

    不要用AbsoluteLayout!!!永远不要!!!
      

  3.   

    因为不能根据分辨率自适应,AbsoluteLayout已经被废弃了。
      

  4.   

    relativelayout也可以啊,不但能满足自适应,你也可以限死距离父view边界的距离,不就是和absolute一个用法么
      

  5.   

    由于是绝对布局,LayoutParams的参数指定了实际的宽、高。还有什么问题吗?
      

  6.   

    我来试试relativelayout。
    绝对布局被废弃,是不是在anroid系统渲染控件时,如果碰到绝对布局,就会被忽略?
    因为编译时,并未报错。按我的理解,只是不建议使用,应该是支持的。如果直接继承ViewGroup,自己实现一个绝对布局,是否可以绕过这个问题?
      

  7.   

    absolute就是不建议使用,它很难满足对布局自适应的要求,用margin属性吧
      

  8.   

    由于是绝对布局,LayoutParams的参数指定了实际的宽、高。还有什么问题吗?首先,指定你自定义的AbsoluteLayout的宽高和子控件的宽高应该是在onMeasure(int , int)方法中完成的,子控件的LayoutParams要想有效,也最好是在调用measure子控件之前设置。你一定要在onSizeChanged方法里设置的话,请在设置完成后调用requestLayout,这会再次调用onMeasure方法,这时候你的子控件是有LayoutParams的