仅以编程方式更改按钮位置

时间:2014-11-03 15:11:24

标签: android button dynamic position

我在屏幕右侧有3个按钮的相对布局活动,除了按钮我很脆弱"脆弱"带有条形码扫描器的片段(当以编程方式触摸时恰好抛出)和自定义ListView。

典型按钮如下所示:

    <Button
    android:id="@+id/typical"
    android:layout_height="wrap_content"
    android:layout_alignParentEnd="true"
    android:layout_alignParentRight="true"
    android:onClick="typical"
    android:text="@string/typical" />

根据手性的偏好,我想设置按钮布局父对齐从右/右到左/开始而不触及任何其他内容。我怎么能这样做?

我试过了:

    Button typical = (Button) findViewById(R.id.typical);
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
    params.addRule(RelativeLayout.ALIGN_PARENT_START);
    params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
    typical.setLayoutParams(params);

但它使我的条形码片段改变了参数并哭了:(。

1 个答案:

答案 0 :(得分:0)

两个想法:

  1. 不要创建新的布局参数,而是尝试使用按钮内的布局参数,删除对齐右规则,并添加左对齐规则。

  2. 而不是使用按钮的布局参数(在相对布局中弄乱布局参数确实会损害性能),为什么不制作2个按钮 - 每侧一个,并始终隐藏其中一个它们?

  3. 希望这有帮助。