在运行时在android中给相对布局的字段赋予ALIGNMENT?

时间:2012-09-12 11:05:27

标签: android alignment

我正在努力在运行时创建字段,就像在相对布局中一样,我在右角添加一个文本字段,在左角添加一个复选框。 对于这个问题,目前我正在使用以下代码:

ViewGroup hori_layout=new RelativeLayout(getParent());
            hori_layout.setLayoutParams(new   ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));

            TextView tv1=new TextView(getParent());
            tv1.setText(_medContactNames[i]);
            tv1.setTextColor(Color.BLACK);
            CheckBox cb = new CheckBox(getApplicationContext());

            hori_layout.addView(tv1);
            hori_layout.addView(cb);

            layout.addView(hori_layout);

1 个答案:

答案 0 :(得分:0)

*

/**
     * GENERATING RELATIVE LAYOUT AT RUNTIME
     * */
    public class RL extends RelativeLayout {
        public RL(Context context,int i,String flag) {
            super(context);
            //FIRST FIELD OF THE LAYOUT
            TextView firstField = new TextView(context);
            firstField.setTextColor(Color.BLACK);
            if(flag.equalsIgnoreCase("LAW")){
                firstField.setText(_lawContactNames[i]);
            }else{
                firstField.setText(_medContactNames[i]);
            }
            firstField.setId(1);
            //SECOND FIELD OF THE LAYOUT
            CheckBox secondField = new CheckBox(context);
            secondField.setId(2);
            //FIRST LAYOUT WHICH MUST BE PRESENT AT LEFT END == TEXT FIELD
            RelativeLayout.LayoutParams lpSecond = new RelativeLayout.LayoutParams(
                    LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
            addView(firstField, lpSecond);
            //SECOND LAYOUT AT RIGHT END == CHECK BOX
            RelativeLayout.LayoutParams lpFirst = new RelativeLayout.LayoutParams(
                    LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
            lpFirst.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, secondField.getId());
            addView(secondField, lpFirst);
        }
    }

*