您的位置:首页 > 移动开发 > Android开发

直接使用代码建立Android视图元件

2012-11-20 09:26 351 查看
一般来说,我们在建立Android视图时,会透过工具直接对xml进行编辑并在onCreate中设置setContentView(R.layout.main);直接建立视图,只是就我个人习惯,还是喜欢敲代码来弄这些东西

所以今天学习了一下怎么如何直接使用代码建立Android视图并加入控件





首先先看这几张图,Activity中只有一个setContentView的函数,由此推断,Activity仅有一个View的成员

而ViewGroup是可以放入多个View的集合类别,因此若是我们要建立视图,Activity下的第一层必定要是ViewGroup或其子类

由此可知,要客制自己的复合视图控件,就只能透过ViewGroup来实践

代码示例:
public class LEDTestActivity extends Activity {  
      
    LinearLayout m_layout;  
    private Button m_btnOn;  
    private Button m_btnOff;  
      
    /** Called when the activity is first created. */  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        //setContentView(R.layout.main);  
        m_layout = new LinearLayout(this);  
    m_btnOn = new Button(this);  
    m_btnOn.setText(“ON”);  
    m_btnOn.setWidth(300);  
    m_btnOff = new Button(this);  
    m_btnOff.setText(“OFF”);  
    m_btnOff.setWidth(300);  
    m_btnOn.setOnClickListener(new Button.OnClickListener(){  
        public void onClick(View v) {  
        // TODO Auto-generated method stub  
                
        }});  
    m_btnOff.setOnClickListener(new Button.OnClickListener(){  
        public void onClick(View v) {  
        // TODO Auto-generated method stub  
                
        }});  
    m_layout.setHorizontalFadingEdgeEnabled(false);  
    m_layout.setVerticalFadingEdgeEnabled(true);  
    m_layout.addView(m_btnOff);  
    m_layout.addView(m_btnOn);  
        setContentView(m_layout);    
    }  
}


在代码中,我直接建立LinearLayout,并将二个按钮元件放入LinearLayout中,并呼叫Activity的setContentView设定为m_layout
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: