Android 如何从底部/中心定位按钮?

Android 如何从底部/中心定位按钮?,android,android-layout,button,Android,Android Layout,Button,我是安卓的不速之客,我在尝试从底部/中心点而不是默认的顶部/左侧以编程方式定位按钮时遇到了问题。我的按钮底部有一个箭头,我想将位置设置为箭头尖端。非常感谢您的帮助 我的代码 popUpButton = (Button) findViewById(R.id.popUp); popUpButton.setOnClickListener(this); public void updateMsg(String t_info, float t_x, float t_y, int t_c){

我是安卓的不速之客,我在尝试从底部/中心点而不是默认的顶部/左侧以编程方式定位按钮时遇到了问题。我的按钮底部有一个箭头,我想将位置设置为箭头尖端。非常感谢您的帮助

我的代码

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>

您可以使用relativeLayout作为父级,因此请检查您是否使用相对布局…然后执行以下操作:

RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) popUpButton.getLayoutParams();
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
params.addRule(RelativeLayout.CENTER_VERTICAL);
popUpButton.setLayoutParams(params);

因此,有一种方法可以通过编程方式移动或更改objet的位置

最好的方法可能是采用y坐标,然后使用button.getheight减去按钮的高度,然后对x坐标执行相同的操作

要将按钮设置在其父对象的底部中心吗?或者您希望按钮的文本位于该方向?我希望将按钮设置在其自身的底部/中心。我不想调整文本。感谢您的响应,但这将在父布局的底部设置按钮。我试图将按钮的参考点设置在按钮的底部中心,而不是左上角。我也不明白,但我认为更改父布局的重心应该可以解决您的问题。我在“编辑”中添加了一张图片。这有助于您理解吗?谢谢您的回复,但我的按钮处于相对布局,所以这个答案不起作用。哦,我想没有提到。无论如何,试试另一个答案
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) popUpButton.getLayoutParams();
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
params.addRule(RelativeLayout.CENTER_VERTICAL);
popUpButton.setLayoutParams(params);