我动态创建了一个ImageButton,想放在一个确定的位置,需要设置对齐方向和margin
用静态布局时候很好设置,但是布局XML里面的参数在动态添加的时候都找不到地方。
在addView方法里面只有设置高度和宽度
不知道这个是怎么做的

解决方案 »

  1.   

    希望能帮到楼主
    http://hualang.iteye.com/blog/964049
      

  2.   

    谢谢楼上的,不过我应用里很多层叠的东西,用的是FrameLayout不是线性布局,需要比较精确的定位
      

  3.   

    你要精确定位那就把你那空间写入绝对布局中了!在addView中,有设置对其方式和边框距离么?
      

  4.   

    比如:
    FrameLayout fl=(FrameLayout)findViewById(R.id.frameLayoutMain);
    ImageButton ibSelectable = new ImageButton(this);
    ibSelectable.setImageResource(R.drawable.icon_unselectable); 
    fl.addView(ibSelectable, 120, 90);
    fl是Activity的最底层的framelayout,我在上面插入了一个叫做ibSelectable的imagebutton
    在fl.addView里面我可以设置ibSelectable的高和宽120x90,现在的问题是他自动出现在左上角,我想放到其他位置怎么办? 
      

  5.   


    我现在就是用的静态的绝对布局,但是很不精确,在不同分辨率下东西乱飘...
    很想动态调整一下,android调整个这怎么这么难呢?
    不能什么都用线性布局吧?我觉得应该是有办法的,要不那些自动适应分辨率的游戏是怎么做的呢?
      

  6.   


    ms单个FrameLayout不能像AbsoluteLayout一样定位,只可以让控件在里面左对齐,右对齐,居中等  FrameLayout.LayoutParams  lout=  new FrameLayout.LayoutParams(w,h); 
      lout.gravity  =android.view.Gravity.BOTTOM|android.view.Gravity.LEFT;
      fl.addView(ibSelectable, lout);
      

  7.   

    额,看来是无解了,回头试试AbsoluteLayout吧,不过现在改起来工作量好大
      

  8.   

    FrameLayout中可以嵌套一个绝对布局,绝对布局可以指定具体的位置,单位尽量用Dip,里面嵌套线性布局也可以。