【问题标题】:How can I position my Button at the right side of my view如何将按钮放置在视图的右侧
【发布时间】:2015-11-14 03:07:51
【问题描述】:

我想在视图的最右侧放置一个按钮,但我从 Google 搜索中尝试过的所有操作都没有奏效。目前看起来是这样的

xml 代码如下

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:orientation="horizontal"
        android:layout_below="@+id/HeaderFrame"
        android:id="@+id/headerPanel">
        <LinearLayout
            android:layout_width="130dp"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:orientation="horizontal"
            android:id="@+id/LeftFrame">
            <TextView
                android:layout_width="45dp"
                android:layout_height="45dp"
                android:id="@+id/backBttn"
                android:textSize="30dp"
                android:text="&lt;"
                android:layout_below="@+id/HeaderFrame"
                android:layout_alignParentLeft="true"
                android:textStyle="bold"
                android:background="#ff9d9d9d"
                android:gravity="center_vertical|center_horizontal" />
            <TextView
                android:layout_width="45dp"
                android:layout_height="45dp"
                android:id="@+id/forwardBttn"
                android:textSize="30dp"
                android:text="&gt;"
                android:layout_below="@+id/HeaderFrame"
                android:textStyle="bold"
                android:background="#ff9d9d9d"
                android:gravity="center_vertical|center_horizontal"
                android:layout_marginLeft="5dp" />
        </LinearLayout>

        <Button
            android:layout_width="220dp"
            android:layout_height="50dp"
            android:id="@+id/CheckOutBttn"
            android:text="Return to Checkout"
            android:textColor="#ffffffff"
            android:textSize="20dp"
            android:layout_alignParentRight="true"                
            android:background="@drawable/template_green" />
    </LinearLayout>

谁能告诉我怎么做。

【问题讨论】:

    标签: android xml android-layout alignment


    【解决方案1】:

    只需将您的顶部 &lt;LinearLayout&gt; 更改为 &lt;RelativeLayout&gt; 您的问题就解决了

    【讨论】:

    • 你的逻辑是完美的。但不知道为什么拒绝你的答案。
    【解决方案2】:

    作为布局的根,您必须使用 &lt;RelativeLayout&gt; 而不是 &lt;LinearLayout&gt;

    【讨论】:

    • 我不知道,神秘
    【解决方案3】:

    下面是你想要实现的格式化代码sn-p:

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/HeaderFrame"
        android:id="@+id/headerPanel">
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:orientation="horizontal"
            android:id="@+id/LeftFrame">
            <TextView
                android:layout_width="45dp"
                android:layout_height="45dp"
                android:id="@+id/backBttn"
                android:textSize="30dp"
                android:text="&lt;"
                android:layout_alignParentLeft="true"
                android:textStyle="bold"
                android:background="#ff9d9d9d"
                android:gravity="center_vertical|center_horizontal" />
            <TextView
                android:layout_width="45dp"
                android:layout_height="45dp"
                android:id="@+id/forwardBttn"
                android:textSize="30dp"
                android:text="&gt;"
                android:textStyle="bold"
                android:background="#ff9d9d9d"
                android:gravity="center_vertical|center_horizontal"
                android:layout_marginLeft="5dp" />
        </LinearLayout>
    
        <Button
            android:layout_width="220dp"
            android:layout_height="50dp"
            android:id="@+id/CheckOutBttn"
            android:text="Return to Checkout"
            android:textColor="#ffffffff"
            android:textSize="20dp"
            android:layout_alignParentRight="true"                
            android:background="@drawable/template_green" />
    </RelativeLayout>
    

    【讨论】:

      【解决方案4】:

      如果你想玩一下LinearLayout,你可以试试这个布局

      <LinearLayout 
          android:layout_width="match_parent"
          android:layout_height="50dp"
          android:orientation="horizontal" >
      
          <TextView
              android:id="@+id/backBttn"
              android:layout_width="45dp"
              android:layout_height="45dp"
              android:background="#ff9d9d9d"
              android:gravity="center_vertical|center_horizontal"
              android:text="&lt;"
              android:textSize="30dp"
              android:textStyle="bold" />
      
          <TextView
              android:id="@+id/forwardBttn"
              android:layout_width="45dp"
              android:layout_height="45dp"
              android:layout_marginLeft="5dp"
              android:background="#ff9d9d9d"
              android:gravity="center_vertical|center_horizontal"
              android:text=">"
              android:textSize="30dp"
              android:textStyle="bold" />
      
          <View
              android:layout_width="0dp"
              android:layout_height="wrap_content"
              android:layout_weight="1" />
      
          <Button
              android:layout_width="220dp"
              android:layout_height="50dp"
              android:id="@+id/CheckOutBttn"
              android:text="Return to Checkout"
              android:textColor="#ffffffff"
              android:textSize="20dp"
              android:background="@drawable/template_green" />
      
      </LinearLayout>
      

      【讨论】:

      • 希望它能以某种方式帮助你,如果我误解了你的问题,我很抱歉。
      【解决方案5】:

      你的错是什么

      在您的 xml 中,您设置了 android:layout_alignParentRight,这是相对布局属性。但您使用的是线性布局。

      android:layout_alignParentRight: 如果为 true,则使此视图的右边缘与父视图的右边缘匹配。容纳右边距。

      所以设置你的父布局Relative Layout instead Linear Layout

      请在同一个RelativeLayout中设置2个Textview和Button

      【讨论】:

      • 谢谢,我重新安排了我的 xml,并用相对布局替换了线性布局,效果很好。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-21
      • 1970-01-01
      • 2015-09-30
      相关资源
      最近更新 更多