java - 以编程方式将单选按钮与右侧的文本和左侧的按钮对齐

标签 java android android-layout android-relativelayout

我正在尝试以编程方式对齐左侧单选按钮的文本和右侧按钮的文本,而不是下一个屏幕截图中显示的内容

normal radiobtns

我尝试创建动态的RelativeLayout并放置textview和radiobtn(没有文本),但每次尝试都不成功:(

我在这里发布了我尝试运行但无法对齐的代码。

        RelativeLayout relLay = new RelativeLayout(this);
        relLay.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));

        TextView textView=new TextView(this);
        textView.setText(device.getName());
        textView.setGravity(Gravity.LEFT);  

        RadioButton radioBtn= new RadioButton(this);
        radioBtn.setText(" ");
        radioBtn.setTag(device);
        radioBtn.setChecked(false);
        radioBtn.setGravity(Gravity.RIGHT); 

        RelativeLayout.LayoutParams lp1 = new RelativeLayout.LayoutParams(
                RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);

        lp1.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE);
        RelativeLayout.LayoutParams lp2 = new RelativeLayout.LayoutParams(
                RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);

        lp2.addRule(RelativeLayout.ALIGN_PARENT_RIGHT,RelativeLayout.TRUE);

        relLay.addView(textView,lp1);
        relLay.addView(radioBtn,lp2);
        radioGr.addView(relLay);

我还必须指出,我正在将相对布局添加到一个由 ScrollView 包含的单选组中。

预先感谢您的帮助和耐心

最佳答案

您可以使用以下代码:

RelativeLayout relLay = new RelativeLayout(this);
            relLay.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
            relLay.setGravity(Gravity.RIGHT);
            TextView textView=new TextView(this);
            textView.setText("good");
            textView.setGravity(Gravity.RIGHT);  
            RadioButton radioBtn= new RadioButton(this);
            radioBtn.setChecked(false);
            radioBtn.setId(125); //you must setid for radioBtn

            RelativeLayout.LayoutParams lp1 = new RelativeLayout.LayoutParams(
                    RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);

          lp1.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE);
            RelativeLayout.LayoutParams lp2 = new RelativeLayout.LayoutParams(
                 RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
            lp1.addRule(RelativeLayout.ALIGN_BASELINE,radioBtn.getId());
          lp1.addRule(RelativeLayout.LEFT_OF,radioBtn.getId());
            lp2.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, RelativeLayout.TRUE);
            relLay.addView(radioBtn,lp2);
            relLay.addView(textView,lp1);
            this.setContentView(relLay);

关于java - 以编程方式将单选按钮与右侧的文本和左侧的按钮对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13557387/

相关文章:

java - 我正在使用 Jersey,但出现此错误 "HTTP Status 500 - Servlet.init() for servlet jersey-servlet threw exception"

java - 如何将实例中的先前日期与更新日期进行比较?

java - 使用 DialogTitleButton 切换大小写

java - FragmentPagerAdapter - 设置异步计数和标题

android - 错误:error: expected float but got (raw string) match-parent

Android - 实现背景效果的调光

java - 如何为 org.quartz.JobDetail 创建自定义编辑器?

android - 如何禁用平板电脑横向模式的 slidingMenu?

java - 是否可以从 BroadcastReceiver 启动警报对话框?

java - 如果我的 3 个文本字段都有输入,我的 JButton 仅在我的文本字段上执行 set.Text