[英]Android - How do I position views in an offset relative to the center/top/bottom (etc.) of their parent?
[英]How Do I Position Button From Bottom/Center?
我是android的菜鸟,在尝试以编程方式从底部/中心点而不是默认的顶部/左侧定位按钮时遇到问题。 我的按钮的底部有一个箭头,我想将位置设置为箭头的尖端。 任何帮助是极大的赞赏。
我的密码
popUpButton = (Button) findViewById(R.id.popUp);
popUpButton.setOnClickListener(this);
public void updateMsg(String t_info, float t_x, float t_y, int t_c){
//infoView.updateInfo(t_info, t_x, t_y, t_c);
popUpButton.setText(TouchView.touchInfo);
popUpButton.setX(t_x);
popUpButton.setY(t_y);
}
XML格式
<RelativeLayout
<Button
android:id="@+id/popUp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/balloon_overlay_bg_selector"
android:text="Button"
android:textColor="#000000"
android:textSize="14dp" />
</RelativeLayout>
最好的方法可能是让您获取y坐标,然后使用button.getheight减去按钮的高度,然后对x坐标进行相同处理。
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.FILL_PARENT);
params.weight = 1.0f;
params.gravity=81;
button.setLayoutParams(params);
您可以使用relativeLayout作为父项来执行此操作,因此请检查您是否正在使用相对布局...并执行以下操作:
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) popUpButton.getLayoutParams();
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
params.addRule(RelativeLayout.CENTER_VERTICAL);
popUpButton.setLayoutParams(params);
因此,您可以通过编程方式移动或更改对象的位置
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.