码迷,mamicode.com
首页 > 编程语言 > 详细

使用java代码添加控件

时间:2015-06-09 16:14:55      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

平时多习惯于采用xml文件来添加布局和控件,采用java代码在activity中添加控件也是一种方式,下面简单举两个例子:

1、addContentView

addContentView作用类似于setContentView()来为activity初始化布局:

 1 public class MainActivity extends Activity {
 2 
 3     @Override
 4     protected void onCreate(Bundle savedInstanceState) {
 5         super.onCreate(savedInstanceState);
 6         //setContentView(R.layout.activity_main);
 7         TextView tv=new TextView(getApplicationContext());
 8         tv.setText("hello world1");
 9         tv.setBackgroundColor(Color.GRAY);
10         tv.setGravity(Gravity.CENTER);
11         int x=LayoutParams.MATCH_PARENT;
12         int y=LayoutParams.WRAP_CONTENT;
13         LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(x,y);
14         this.addContentView(tv, params);
15         
16         
17     }
18 }

在java代码中添加控件同样可以设置各种属性,如例中setText,setBackgroundColor等。效果:

技术分享技术分享

2、addView

addView在父控件的基础上添加子控件,作用类似于在xml文件中添加一个控件:

public class addViewActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        LinearLayout ll = (LinearLayout) findViewById(R.id.ll);
        TextView tv = new TextView(getApplicationContext());
        tv.setText("hello world2");
        tv.setBackgroundColor(Color.GRAY);
        tv.setGravity(Gravity.CENTER);

        ll.addView(tv);

    }

}

xml文件:

1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
2     xmlns:tools="http://schemas.android.com/tools"
3     android:id="@+id/ll"
4     android:layout_width="match_parent"
5     android:layout_height="wrap_content"
6     android:orientation="vertical" >
7 
8 </LinearLayout>

同样可以添加控件的各种属性。效果:

技术分享

 

技术分享

 

 


 

使用java代码添加控件

标签:

原文地址:http://www.cnblogs.com/silenceshining/p/4563475.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!