以编程方式更改按钮位置
问题描述:
我有相对布局的屏幕右侧的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);
但它使我的条形码片段变化参数,哭:(
答
两个想法:
不是创建一个新的布局,则params的,尝试改为使用按钮内部的布局参数,删除对齐右边的规则,并添加对齐左边的规则。
而不是玩弄按钮的布局参数(与相对布局内的布局参数相混淆可能会影响性能),为什么不制作2个按钮 - 每边一个,并且总是隐藏其中一个按钮?
希望这会有所帮助。
带隐藏按钮的想法反而非常棒!非常感谢:) – 2014-11-03 15:19:39
不用担心。如果它适合你,请随时接受答案。 – 2014-11-03 15:28:23