按钮在移动设备上不显示彼此相邻

时间:2013-12-20 05:54:45

标签: android xml android-layout

我只是想让两个按钮彼此相邻。我在Stackoverflow中阅读了其他帖子,建议使用LinearLayout。我想继续使用相对布局。我能以任何方式修复图像中显示的内容吗?

蚀: enter image description here

HTC One(手机):

enter image description here

,这是xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="31dp"
        android:text="@string/welcomeMessageMain"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="@color/LightSlateGray"
        android:textSize="12pt" />

    <Button
        android:id="@+id/newDiscountButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/latestDiscountsButton"
        android:layout_alignBottom="@+id/latestDiscountsButton"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="18dp"
        android:layout_marginRight="14dp"
        android:background="@drawable/roundbuttonxml"
        android:height="50dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:text="@string/newDiscountBUttonLabel"
        android:textColor="@color/WhiteColor"
        android:width="115dp" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="35dp"
        android:text="@string/copyrightMessage"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <Button
        android:id="@+id/latestDiscountsButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="30dp"
        android:layout_toRightOf="@+id/newDiscountButton"
        android:background="@drawable/roundbuttonxml"
        android:height="50dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:text="@string/recentDiscountsButtonLabel"
        android:textColor="@color/WhiteColor"
        android:width="115dp" />

</RelativeLayout>

感谢您的帮助! :)

TableRow之后的新代码仍无效:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="31dp"
        android:text="@string/welcomeMessageMain"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="@color/LightSlateGray"
        android:textSize="12pt" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="35dp"
        android:text="@string/copyrightMessage"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp" >

        <Button
            android:id="@+id/newDiscountButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="17dp"
            android:background="@drawable/roundbuttonxml"
            android:height="50dp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:text="@string/newDiscountBUttonLabel"
            android:textColor="@color/WhiteColor"
            android:width="115dp" />

        <Button
            android:id="@+id/latestDiscountsButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="14dp"
            android:background="@drawable/roundbuttonxml"
            android:height="50dp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:text="@string/recentDiscountsButtonLabel"
            android:textColor="@color/WhiteColor"
            android:width="115dp" />

    </TableRow>

</RelativeLayout>

6 个答案:

答案 0 :(得分:1)

试试这样:

<TableRow
    android:id="@+id/tableRow1"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:layout_width="wrap_content">
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="@string/stringtxt1"></Button>
    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:text="@string/stringtxt2"
        android:layout_height="wrap_content"
        android:layout_gravity="center|center_horizontal"></Button>
</TableRow>

答案 1 :(得分:0)

使用此:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="31dp"
        android:text="welcomeMessageMain"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="12pt" />

    <Button
        android:id="@+id/newDiscountButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/latestDiscountsButton"
        android:layout_alignBottom="@+id/latestDiscountsButton"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="18dp"
        android:layout_marginRight="14dp"
        android:background="@drawable/ic_launcher"
        android:height="50dp"
        android:layout_marginTop="30dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:text="newDiscountBUttonLabel"
        android:width="115dp" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="35dp"
        android:text="copyrightMessage"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <Button
        android:id="@+id/latestDiscountsButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="30dp"
        android:layout_toRightOf="@+id/newDiscountButton"
        android:background="@drawable/ic_launcher"
        android:height="50dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:text="recentDiscountsButtonLabel"
        android:width="115dp" />

</RelativeLayout>

答案 2 :(得分:0)

 <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal" 
        android:weightSum="10">

        <View 
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"/>

        <Button
            android:id="@+id/button1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
             android:layout_weight="3"/>

        <View 
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="2"/>

        <Button
            android:id="@+id/button2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center|center_horizontal"
            android:layout_weight="3" />

        <View 
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"/>
    </TableRow>

希望它能帮到你

答案 3 :(得分:0)

尝试使用此代码,它将采用所需的格式。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="31dp"
    android:text="@string/welcomeMessageMain"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="@color/LightSlateGray"
    android:textSize="12pt" />

<Button
    android:id="@+id/newDiscountButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/latestDiscountsButton"
    android:layout_alignBottom="@+id/latestDiscountsButton"
    android:layout_alignParentLeft="true"
    android:layout_marginLeft="18dp"
    android:layout_marginRight="14dp"
    android:background="@drawable/roundbuttonxml"
    android:height="50dp"
    android:layout_gravity="center|center_horizontal">
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:text="@string/newDiscountBUttonLabel"
    android:textColor="@color/WhiteColor"
    android:width="115dp" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="35dp"
    android:text="@string/copyrightMessage"
    android:textAppearance="?android:attr/textAppearanceSmall" />

<Button
    android:id="@+id/latestDiscountsButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center|center_horizontal">
    android:layout_below="@+id/textView1"
    android:layout_marginTop="30dp"
    android:layout_toRightOf="@+id/newDiscountButton"
    android:background="@drawable/roundbuttonxml"
    android:height="50dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:text="@string/recentDiscountsButtonLabel"
    android:textColor="@color/WhiteColor"
    android:width="115dp" />

答案 4 :(得分:0)

为什么textview2介于两者之间..是什么目的呢?您可以将其置于屏幕底部以显示copywright文字

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="31dp"
    android:text="@string/welcomeMessageMain"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="@color/LightSlateGray"
    android:textSize="12pt" />

<Button
    android:id="@+id/newDiscountButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/latestDiscountsButton"
    android:layout_alignBottom="@+id/latestDiscountsButton"
    android:layout_alignParentLeft="true"
    android:layout_marginLeft="18dp"
    android:layout_marginRight="14dp"
    android:background="@drawable/roundbuttonxml"
    android:height="50dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:text="@string/newDiscountBUttonLabel"
    android:textColor="@color/WhiteColor"
    android:width="115dp" />


<Button
    android:id="@+id/latestDiscountsButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textView1"
    android:layout_marginTop="30dp"
    android:layout_toRightOf="@+id/newDiscountButton"
    android:background="@drawable/roundbuttonxml"
    android:height="50dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:text="@string/recentDiscountsButtonLabel"
    android:textColor="@color/WhiteColor"
    android:width="115dp" />

答案 5 :(得分:0)

目前无法访问Android IDE,但查看XML,我看到按钮的边距不同。

在你的第二个按钮上,删除边距,我想你会得到你想要的东西 android:layout_marginTop="30dp"