不用XML,全部使用代码来进行UI的开发,结果悲剧了,我想把一个摁钮放到屏幕左下角,另外一个放到右下角,但是无论用哪种布局都放置不到,能有谁帮我一下吗?话说,Android用纯代码来开发UI比我以前刚学J2SE的时候用纯代码来开发UI还蛋疼= =

解决方案 »

  1.   

    可以的啊,使用相对布局,代码自己addView就是累点,没有问题的
      

  2.   

    就举一个绝对布局的例子吧
    Button mButton = new Button(this)
    mButton.xxx//设置按钮属性
    mAbsoluteLayout.addView(mButton, new AbsoluteLayout.LayoutParams(长,宽, X, Y));
    mAbsoluteLayout为你的父容器
      

  3.   

    如果为线性布局
    mAbsoluteLayout.setGratity(Grativty.bottom)//设置子元素的对齐方式
    mAbsoluteLayout.addView(mButton,new LinerLayout.LayoutParams(宽、高));
    grativity可能拼的不对
      

  4.   


    在SDK 2.1中,绝对布局的类AbsoluteLayout被标记为过时的类,并且绝对布局AbsoluteLayout没有setGravity方法
      

  5.   

    布局还是用xml
    view自己写就方便多了
      

  6.   

    用linearlayout就可以吧,我觉得代码方式有时候找问题很费劲,而且程序里光布局的代码就占了半个类,可读性很差的。xml配置出来,依然可以在类中去动态修改布局,所以还是用xml吧
      

  7.   

    LayoutParams设置空间在界面中的大小以及位置,然后在设置控件的属性后用addview加到你定义的layout上,最后setcontentview就可以显示了
      

  8.   

    还是建议楼主掌握XML代码布局吧,这样可以实现UI与业务代码的分离,再者,你用Java代码布局,每次查看效果都需要重新运行程序,很慢,而用XML布局,可以随时切换视图来查看效果,而且布局容器之间的层次也一目了然,所以整体布局用XML,而业务中的实现动态布局就用Java代码。
    这样会比Java代码来布局效率高很多!
    楼主可以考虑
      

  9.   

    大牛哥哥我来啦 c c++ c# java jsp asp asp.net FPGA verilog   masm   提供项目解决方案  
      不是做广告啊,,,因为不赚钱package com.test.android.second;
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.LinearLayout;
    import android.widget.Toast;
    public class SecondActivity extends Activity {
     
     @Override
     public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      
      LinearLayout layout = new LinearLayout(this);
    //  layout.setOrientation(LinearLayout.VERTICAL);
      
      Button button = new Button(this);
      
      button.setText("Click Me");
      
      button.setLayoutParams(new LinearLayout.LayoutParams(
        LinearLayout.LayoutParams.FILL_PARENT,
        LinearLayout.LayoutParams.WRAP_CONTENT));
      
      button.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View v) {
        Toast.makeText(SecondActivity.this, "Button Clicked", Toast.LENGTH_LONG).show();
       }
      });
      layout.addView(button);
      setContentView(layout);
     }
    }