【问题标题】:android:layout_gravity="center" can't set the button in the center of titlebar?android:layout_gravity="center" 不能将按钮设置在标题栏的中心?
【发布时间】:2016-03-16 23:05:37
【问题描述】:

我真的是 android 的新手, 我知道android:layout_gravity 在其父级中设置ViewLayout 的重力。而android:gravity 设置其使用的View 内容的重力。Refer

但是当我设置标题栏Linearlayoutgravity="center"时,按钮确实位于中心

但是当我在LinerLayout的头部删除gravity="center",然后在按钮中添加layout_gravity="center",按钮就在左边?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    >

    <Button
        android:id="@+id/back"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Back"
        android:layout_gravity="center"
        android:textColor="#fff" />

</LinearLayout>

【问题讨论】:

  • 将 LinearLayout 高度更改为 android:layout_height="match_parent"
  • 在线性布局中使用gravity="center"
  • 嗨 Dhaval,但它不再是标题栏
  • 谢谢,hetal。正如我在问题中描述的那样,这是真的。我要问的是为什么我不能使用layout_gravity="center" 将按钮设置在中心
  • 如果你想使用 layout_gravity="center" 那么你的按钮宽度应该是 match_parent

标签: android android-layout layout-gravity


【解决方案1】:

只需给你的LinearLayout 定位,其余一切都完美

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <Button
    android:id="@+id/back"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Back"
    android:layout_gravity="center"
    android:textColor="#fff" />

</LinearLayout>

【讨论】:

  • 是的!这是否意味着 layout_gravity 必须与 LinearLayout orientation 一起使用?如果我添加另外两个小部件TextViewButton
【解决方案2】:

检查以下代码和中心按钮:

 <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:orientation="vertical">
          <Button
              android:layout_width="100dp"
              android:layout_height="100dp"
              android:layout_gravity="center"/>
     </LinearLayout>

【讨论】:

    【解决方案3】:
       <?xml version="1.0" encoding="utf-8"?>
       <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:gravity="center"
        android:layout_height="wrap_content"
       >
    
    <Button
        android:id="@+id/back"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Back"
        android:textColor="#fff" />
    

    【讨论】:

      【解决方案4】:

      在线性布局中添加android:orientation="vertical"

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-02-16
        • 1970-01-01
        • 1970-01-01
        • 2016-08-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多