android.view.ViewGroup.MarginLayoutParams ml = (MarginLayoutParams) rLayout.getLayoutParams();
ml.height = converHeight(num) + 1;
rLayout.setLayoutParams(ml);做过一个类似的东西,希望可以启发到你。

解决方案 »

  1.   

    改变布局用LinearLayout布局,并设置
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"或者通过获取LinearLayout的ID号,
    在设置p.height = (int) (d.getHeight() * 1.0);和p.width = (int) (d.getWidth() * 0.7); 的时候同时改变LinearLayout的宽度和高度。
      

  2.   

    能说的详细点吗?rLayout是哪个实例?
      

  3.   

    我就是把P加入到linearlayout里面去,但是现实的效果还是没有
      

  4.   

    假设你的布局文件里面的LinearLayout的ID为myLinearLayout,那么通过设置
    myLinearLayout.setLayoutParams(new LayoutParams((int) (d.getWidth() * 0.7), (int) (d.getWidth() * 0.7));
      

  5.   

    嗯,可以了,前面犯的错误是在最外面的linearlayout中设置宽和高了,得在最外面的linearlayout中再加入一个linearlayout就可以了
      

  6.   

    我想请问下,我最近也在弄dialog主题的activity,我的activity也会根据里面控件的不同而改变宽高,请问你知道怎么获取每次不同宽高情况下的宽高数据吗?
      

  7.   

    楼主笨啦!
    WindowManager m = getWindowManager();    
           Display d = m.getDefaultDisplay();  //为获取屏幕宽、高    
           LayoutParams p = getWindow().getAttributes();  //获取对话框当前的参数值    
           p.height = (int) (d.getHeight() * 1.0);   //高度设置为屏幕的1.0   
           p.width = (int) (d.getWidth() * 0.7);    //宽度设置为屏幕的0.8   
           p.alpha = 1.0f;      //设置本身透明度  
           p.dimAmount = 0.0f;      //设置黑暗度  
           getWindow().setAttributes(p);   在setContentView()之后调用就好啦!