【问题标题】:How to place a button in the center of Relative layout?如何在相对布局的中心放置一个按钮?
【发布时间】:2015-07-24 12:03:26
【问题描述】:

我正在尝试在中心应用程序上放置一个按钮... 有人可以向我解释这段代码到底在做什么吗?

RelativeLayout.LayoutParams BD = new RelativeLayout.LayoutParams(
            RelativeLayout.LayoutParams.WRAP_CONTENT,
            RelativeLayout.LayoutParams.WRAP_CONTENT
    );
    BD.addRule(RelativeLayout.CENTER_HORIZONTAL);
    BD.addRule(RelativeLayout.CENTER_VERTICAL);

【问题讨论】:

  • 只需使用 android:layout_centerInParent = "true" 或 RelativeLayout.CENTER_IN_PARENT

标签: java android xml android-relativelayout center-align


【解决方案1】:

这段代码的作用是

RelativeLayout.LayoutParams BD = new RelativeLayout.LayoutParams(
        RelativeLayout.LayoutParams.WRAP_CONTENT,
        RelativeLayout.LayoutParams.WRAP_CONTENT
);

上面一行告诉视图只占用它需要的空间。

BD.addRule(RelativeLayout.CENTER_HORIZONTAL);
BD.addRule(RelativeLayout.CENTER_VERTICAL);

上面两行告诉 LayoutManager 保持这个视图在中心水平和垂直。

您应该阅读有关RelativeLayoutRelativeLayoutParams 的信息。

【讨论】:

    【解决方案2】:
    RelativeLayout relativeLayout;
    Button btnNewButton;
    relativeLayout = new RelativeLayout(getApplicationContext());
        btnNewButton = new Button(getApplicationContext());
        btnNewButton.setText("Button Text");
    
        RelativeLayout.LayoutParams BD = new RelativeLayout.LayoutParams(
                RelativeLayout.LayoutParams.WRAP_CONTENT,
                RelativeLayout.LayoutParams.WRAP_CONTENT
        );
        BD.addRule(RelativeLayout.CENTER_HORIZONTAL);
        BD.addRule(RelativeLayout.CENTER_VERTICAL);
    
        btnNewButton.setLayoutParams(BD);
    
        relativeLayout.addView(btnNewButton);
        setContentView(relativeLayout);
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-15
      • 1970-01-01
      • 2016-06-24
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 2014-10-15
      相关资源
      最近更新 更多