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