使用java代码添加控件

平时多习惯于采用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>

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

 

 

 

 
 

 

转载于:https://www.cnblogs.com/silenceshining/p/4563475.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值