在Android代码中给布局添加控件

在有些app中,有些布局是不断变化的,如:有些新闻客户端上面的标题,我们可以根据自己的喜欢添加自己感兴趣的栏目。这时候,标题的布局就不能再布局文件中添加,添加以后再修改就比较困难。在代码中添加控件就比较灵活,实现如下:

我们可以给标题栏设置成线性布局,在代码给布局添加Textview,

if (cursor1.getCount()!=0){//从数据库中得到要设置的标题的名称
    line1.removeAllViews();//Linearlayout上的控件每次变化都要清空后再从新加载,否则会重复加载
    List<String> list=new ArrayList<>();
    while (cursor1.moveToNext()){
        list.add(cursor1.getString(cursor1.getColumnIndex("name")));
    }
    tv1=new TextView[list.size()];//TextView控件的数组
    for (int i = 0; i <list.size(); i++) {
        tv1[i]=new TextView(this);//初始化Textview控件,否则会包空指针错误
        tv1[i].setText(list.get(i));
        tv1[i].setId(i);//设置id
        tv1[i].setClickable(true);
        tv1[i].setTextSize(20);
        tv1[i].setTextColor(Color.rgb(0,0,0));
        tv1[i].setPaddingRelative(15,0,0,0);//设置Textview的位置距离右侧距离为15
        line1.addView(tv1[i]);//将Textview控件加载到布局中
        tv1[i].setOnClickListener(new View.OnClickListener() {//给Textview设置点击事件
            @Override
            public void onClick(View v) {

本来想在style中设置一个样式给Textview的,参考:

http://stackoverflow.com/questions/11723881/android-set-view-style-programatically/28613069#28613069

但里面的方法都用不成,不知道谁有什么方法没有。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值