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); } }
好了,基本介绍到这。。。相对来说还是比较简单。。。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦