Java 将按钮或图像居中

Java 将按钮或图像居中,java,android,button,attributes,Java,Android,Button,Attributes,我正在使用Eclipse为Android创建一个应用程序。我知道您在XML文件中设置了按钮或图像居中等属性,但在Java中如何做到这一点?如果不知道您拥有什么,很难说。但是,如果您仔细查看文档,每个xml属性都有一个相关的Java方法。例如,您可以看到属性的列表及其相应的Java方法和对其实际功能的描述。您应该能够使用它来开始,然后您可以用您尝试过的代码、您遇到的确切问题以及可能收到的任何错误消息来提问。祝你好运 在XML文件中使用代码来居中,而不是属性 将按钮居中放置: @Override

我正在使用Eclipse为Android创建一个应用程序。我知道您在
XML
文件中设置了按钮或图像居中等属性,但在Java中如何做到这一点?

如果不知道您拥有什么,很难说。但是,如果您仔细查看文档,每个xml
属性都有一个相关的Java方法。例如,您可以看到
属性的列表及其相应的Java方法和对其实际功能的描述。您应该能够使用它来开始,然后您可以用您尝试过的代码、您遇到的确切问题以及可能收到的任何错误消息来提问。祝你好运

XML
文件中使用代码来居中,而不是属性

将按钮居中放置:

@Override 
public void paintComponent(Graphics g) 
{
    super.paintComponent(g);
    Graphics2D g2d = (Graphics2D) g;
    int xCenter = (this.getWidth() - image.getWidth()) / 2;
    int yCenter = (this.getHeight() - image.getHeight()) / 2;
    g2d.drawImage(image, xCenter, yCenter, null); 
}
使用
流程布局
。这将使按钮在容器中水平居中,而不是垂直居中

JButton button = new JButton("Click Me!");
panel.setLayout(new FlowLayout(FlowLayout.CENTER));
panel.add(button);
如果希望它在两个方向上居中,可以使用
BoxLayout

JButton button = new JButton("Click Me!");
button.setAlignmentX(Component.CENTER_ALIGNMENT);
panel.setLayout(new BoxLayout(panel, BoxLayout.PAGE_AXIS));
panel.add(Box.createVerticalGlue());
panel.add(button);
panel.add(Box.createVerticalGlue());
中心图像:

@Override 
public void paintComponent(Graphics g) 
{
    super.paintComponent(g);
    Graphics2D g2d = (Graphics2D) g;
    int xCenter = (this.getWidth() - image.getWidth()) / 2;
    int yCenter = (this.getHeight() - image.getHeight()) / 2;
    g2d.drawImage(image, xCenter, yCenter, null); 
}
您是否尝试过:

Button button = new Button(getApplicationContext());
button.setLayoutParams(newLayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
button.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICAL);