为了账号安全,请及时绑定邮箱和手机立即绑定

Android UI 之使用java代码实现动态添加LinearLayout(一)

标签:
Android

so,,,现在要使用java代码去动态添加这些控件,并实现如上效果

很简单的。。。看代码。。。

    /**
     * 动态添加线性布局
     */
    private void addLinearLayout() {        //initMissionList:存储几条测试数据
        for (int i = 0; i < initMissionList().size(); i++) {            //LinearLayout默认是水平(0)居中,现在改为垂直居中
            llFmhpMissionList.setOrientation(1);            //实例化一个LinearLayout
            LinearLayout linearLayout = new LinearLayout(this);            //设置LinearLayout属性(宽和高)
            LinearLayout.LayoutParams layoutParams=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 120);            //设置边距
            layoutParams.setMargins(54, 0, 84, 0);            //将以上的属性赋给LinearLayout
            linearLayout.setLayoutParams(layoutParams);            //实例化一个TextView
            TextView tv = new TextView(this);            //设置宽高以及权重
            LinearLayout.LayoutParams tvParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, 1);            //设置textview垂直居中
            tvParams.gravity = Gravity.CENTER_VERTICAL;
            tv.setLayoutParams(tvParams);
            tv.setTextSize(14);
            tv.setTextColor(getResources().getColor(R.color.rbtn_tet));
            tv.setText(initMissionList().get(i).toString().trim());
            
            RadioGroup radioGroup = new RadioGroup(this);
            radioGroup.setLayoutParams(new RadioGroup.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, 120));
            radioGroup.setOrientation(0);
            
            RadioGroup.LayoutParams rbtnParams = new RadioGroup.LayoutParams(72, 72);
            rbtnParams.gravity=Gravity.CENTER_VERTICAL;
            
            RadioGroup.LayoutParams rbtnParamsf = new RadioGroup.LayoutParams(72, 72);
            rbtnParamsf.gravity=Gravity.CENTER_VERTICAL;
            rbtnParamsf.leftMargin=84;
            rbtnParamsf.rightMargin=90;            
            final RadioButton radioButtonF = new RadioButton(this);
            radioButtonF.setLayoutParams(rbtnParamsf);
            radioButtonF.setButtonDrawable(android.R.color.transparent);
            radioButtonF.setBackground(getResources().getDrawable(R.drawable.selector_fmhp_radiobutton_x_style));            
            final RadioButton radioButtonT = new RadioButton(this);
            radioButtonT.setLayoutParams(rbtnParams);
            radioButtonT.setButtonDrawable(android.R.color.transparent);
            radioButtonT.setBackground(getResources().getDrawable(R.drawable.selector_fmhp_radiobutton_hook_style));
            
            radioGroup.addView(radioButtonF);
            radioGroup.addView(radioButtonT);
            
            linearLayout.addView(tv);
            linearLayout.addView(radioGroup);
            
            llFmhpMissionList.addView(linearLayout);
        }
         
     }

好了,基本介绍到这。。。相对来说还是比较简单。。。

原文链接:http://www.apkbus.com/blog-904057-68140.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消