在LinearLayout中可以通过android:layout_weight 属性控制其子view在layout的位置,比如可以让3个button平均分配layout的空间,也可以让它们按百分比来分配layout的空间。有没有什么方法能在RelativeLayout中实现同样的效果呢?

解决方案 »

  1.   

    在RelativeLayout中嵌入LinearLayout或TableLayout都可以啊
      

  2.   


    这样做Relativelayout还有什么效果?只相当于一个摆设而已?
      

  3.   


    呵呵...RelativeLayout中嵌入LinearLayout就行呢!
    如果不嵌入LinearLayout,也可以直接指定控件大小呢,weight="34sp" height="50sp"
      

  4.   


    这样做Relativelayout还有什么效果?只相当于一个摆设而已?
      

  5.   


    为什么布局嵌套使用才能发挥最大效果?什么是评判布局发挥了最大效果的标准?我的理解恰恰和你相反。能够使UI最有效率的生成在界面中的布局才是发挥了最大效果的布局。在UI确定,布局中的子view不可能变少的情况下。越少的布局嵌套层次,越能提升UI加载的效率。
      

  6.   

    Relativelayout顾名思义一个相对一个,靠parent左,上,右,下,to谁的左,右,等等这些属性eclipse中Alt加/都可以出来,经过微调可以达到同样的效果
      

  7.   


    请问假设在一个分辨率为 320*480的机器上需要放两个button,仅使用relativelayout 而不用 weight属性 经过微调使其达到了button1 占layout 1/3, button2 占lyaout 2/3的效果如果这时换一个分辨率为600*800的机器,它还会是相同的效果吗?
      

  8.   

              呵呵在onCreate()中这样处理还ok?     
                    DisplayMetrics dm = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(dm);
    int screenWidth = dm.widthPixels;
    int screenHeight = dm.heightPixels;
    Button mButtonLeft = (Button)findViewById(R.id.button01);
    Button mButtonRight = (Button)findViewById(R.id.button02);
    mButtonLeft.setWidth(screenWidth / 3);
    mButtonRight.setWidth((screenWidth * 2) / 3);
      

  9.   

    [Quote=引用 9 楼 xinqiqi123 的回复:]          呵呵在onCreate()中这样处理还ok?     
                    DisplayMetrics dm = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(dm);
    int screenWidth = dm.widthPixels;
    int screen……
    [/Quote
    这样子的话MVC模式就是显得不够完整了。
      

  10.   

    特殊问题特殊处理,MVC也不是纯粹的MVC,凡事都有特例