简体   繁体   English

自定义提醒按钮重叠

[英]Custom Alert button overlapping

Ok i successfully created a custom alert and when i ran it the format is the same as in xml but after re-running it for the nth time suddenly the buttons overlap and I dont know how to fix it so can you pls help me out on this?. 好的,我成功创建了一个自定义警报,当我运行它时,其格式与xml中的相同,但是在第n次重新运行它之后,按钮突然重叠了,我不知道如何解决它,所以请您帮帮我这个?。

alert.xml(output should be): alert.xml(输出应为):
在此处输入图片说明

wrong output: 错误的输出:
在此处输入图片说明

xml code: xml代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:background="#595959">
    <EditText
        android:id="@+id/orderQuantity"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignRight="@+id/b3"
        android:background="#FFFFFF"
        android:ems="10"
        android:inputType="number" />

     <Button
        android:id="@+id/b1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/b4"
        android:layout_alignParentLeft="true"
        android:text="1" />

     <Button
        android:id="@+id/b2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/orderQuantity"
        android:layout_toRightOf="@+id/b4"
        android:text="2" />
       <Button
        android:id="@+id/b3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/b4"
        android:layout_centerHorizontal="true"
        android:text="3" />
     <Button
        android:id="@+id/b4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/b2"
        android:text="4" />

    <Button
        android:id="@+id/b5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/b2"
        android:layout_toLeftOf="@+id/b3"
        android:text="5" />

    <Button
        android:id="@+id/b6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/b5"
        android:layout_alignBottom="@+id/b5"
        android:layout_alignLeft="@+id/b3"
        android:text="6" />

    <Button
        android:id="@+id/b7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/b4"
        android:layout_toLeftOf="@+id/b5"
        android:text="7" />

    <Button
        android:id="@+id/b8"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/b4"
        android:layout_toRightOf="@+id/b4"
        android:text="8" />

    <Button
        android:id="@+id/b9"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/b6"
        android:layout_below="@+id/b6"
        android:text="9" />

    <Button
        android:id="@+id/b0"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/b8"
        android:layout_toLeftOf="@+id/b9"
        android:text="0" />

    <Button
        android:id="@+id/addCart"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/b0"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/b7"
        android:layout_toLeftOf="@+id/b0"
        android:text="ADD" />

    <Button
        android:id="@+id/cancel"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/b0"
        android:layout_alignRight="@+id/b9"
        android:layout_below="@+id/b9"
        android:layout_toRightOf="@+id/b0"
        android:text="BACK" />


</RelativeLayout>

Use LinearLayout instead of RelativeLayout. 使用LinearLayout而不是RelativeLayout。 And remove these in Buttons: 并删除这些按钮:

android:layout_alignParentLeft="true"

after that it should be fine. 之后应该没问题。

EDIT: Not just left alignment directives, but all alignment directives. 编辑:不仅左对齐指令,而且所有对齐指令。

Organize each row as below... 如下组织每一行...

 <Button
     android:id="@+id/b1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_above="@+id/b4"
     android:layout_alignParentLeft="true"
     android:text="1" />

 <Button
     android:id="@+id/b2"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_below="@+id/orderQuantity"
     android:layout_toLeftOf="@+id/b3"
     android:layout_toRightOf="@+id/b1"
     android:text="2" />

 <Button
     android:id="@+id/b3"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_above="@+id/b4"
     android:layout_toRightOf="@+id/b2"
     android:layout_centerHorizontal="true"
     android:text="3" />

i would suggest you to use TableLayout ... very easy to understand and fits what you want perfectly and its easy to reuse or modify later ... your code ... 我建议您使用TableLayout ...非常易于理解,非常适合您想要的东西,并且易于重用或以后修改...您的代码...

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tableLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >

        <EditText
            android:id="@+id/orderQuantity"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignRight="@+id/b3"
            android:background="#FFFFFF"
            android:ems="10"
            android:inputType="number" />
    </TableRow>

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >

        <Button
            android:id="@+id/button1"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="1" />

        <Button
            android:id="@+id/button1"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="2" />

        <Button
            android:id="@+id/button1"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="3" />
    </TableRow>

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >

        <Button
            android:id="@+id/button1"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="4" />

        <Button
            android:id="@+id/button1"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="5" />

        <Button
            android:id="@+id/button1"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="6" />
    </TableRow>

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >

        <Button
            android:id="@+id/button1"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1" 
            android:text="7"/>

        <Button
            android:id="@+id/button1"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1" 
            android:text="8"/>

        <Button
            android:id="@+id/button1"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="9" />
    </TableRow>


    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >

        <Button
            android:id="@+id/button1"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1" 
            android:text="Add"/>

        <Button
            android:id="@+id/button1"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1" 
            android:text="0"/>

        <Button
            android:id="@+id/button1"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1" 
            android:text="OK"/>
    </TableRow>

</TableLayout>

Ok after analyzing i was able to see whats wrong. 确定分析后,我能够看到出了什么问题。
This 这个

<Button
        android:id="@+id/b3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/b4"
        android:layout_centerHorizontal="true"
        android:text="3" />

Should be : 应该 :

 <Button
        android:id="@+id/b3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/b4"
        android:text="3" />

I would do something like this: 我会做这样的事情:

<?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"
              android:orientation="vertical"
              android:background="#595959">
    <EditText
            android:id="@+id/orderQuantity"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignRight="@+id/b3"
            android:background="#FFFFFF"
            android:ems="10"
            android:inputType="number"/>

    <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"
                  android:orientation="horizontal"
                  android:weightSum="1">

        <Button
                android:id="@+id/b1"
                android:layout_width="0dp"
                android:layout_weight=".3333"
                android:layout_height="match_parent"
                android:text="1"/>

        <Button
                android:id="@+id/b2"
                android:layout_width="0dp"
                android:layout_weight=".3333"
                android:layout_height="match_parent"
                android:text="2"/>
        <Button
                android:id="@+id/b3"
                android:layout_width="0dp"
                android:layout_weight=".3333"
                android:layout_height="match_parent"
                android:text="3"/>

    </LinearLayout>
    <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"
                  android:orientation="horizontal"
                  android:weightSum="1">

        <Button
                android:id="@+id/b4"
                android:layout_width="0dp"
                android:layout_weight=".3333"
                android:layout_height="match_parent"
                android:text="4"/>

        <Button
                android:id="@+id/b5"
                android:layout_width="0dp"
                android:layout_weight=".3333"
                android:layout_height="match_parent"
                android:text="5"/>
        <Button
                android:id="@+id/b6"
                android:layout_width="0dp"
                android:layout_weight=".3333"
                android:layout_height="match_parent"
                android:text="6"/>

    </LinearLayout>
    <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"
                  android:orientation="horizontal"
                  android:weightSum="1">

        <Button
                android:id="@+id/b7"
                android:layout_width="0dp"
                android:layout_weight=".3333"
                android:layout_height="match_parent"
                android:text="7"/>

        <Button
                android:id="@+id/b8"
                android:layout_width="0dp"
                android:layout_weight=".3333"
                android:layout_height="match_parent"
                android:text="8"/>
        <Button
                android:id="@+id/b9"
                android:layout_width="0dp"
                android:layout_weight=".3333"
                android:layout_height="match_parent"
                android:text="9"/>

    </LinearLayout>
    <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"
                  android:orientation="horizontal"
                  android:weightSum="1">
        <Button
                android:id="@+id/b0"
                android:layout_width="0dp"
                android:layout_weight=".3333"
                android:layout_height="match_parent"
                android:text="0"/>

        <Button
                android:id="@+id/addCart"
                android:layout_width="0dp"
                android:layout_weight=".3333"
                android:layout_height="match_parent"
                android:text="ADD"/>

        <Button
                android:id="@+id/cancel"
                android:layout_width="0dp"
                android:layout_weight=".3333"
                android:layout_height="match_parent"
                android:text="BACK"/>
    </LinearLayout>

</LinearLayout>

Dial_portrait

Dial_landscape

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在自定义警报对话框中获取单选按钮的值 - Get value of radio button in custom alert dialog 具有XML的Android自定义警报-按钮单击操作 - Android Custom Alert with XML - Button Click Action 单击按钮时关闭自定义警报对话框 - Closing a custom alert dialog on button click Android:具有自定义对话框和中性按钮的警报对话框 - Android: Alert dialog with custom dialog and neutral button 使用自定义按钮关闭具有自定义界面的警报对话框 - Dismissing Alert Dialog with custom interface using custom button 自定义切换按钮:如何防止文本与图标重叠 - Custom Toggle Button: How to prevent text overlapping with icon Android jetpack 导航自定义后退按钮在背面重叠后退箭头 - Android jetpack navigation custom back button overlapping back arrow on back 在Android中按下后退按钮时关闭“自定义警报对话框” - Dismiss Custom Alert Dialog on Back button pressed of hardware in android Android 警报对话框自定义面板和按钮面板高度为 0 - Android alert dialog custom panel and button panel height is 0 如何更改android中自定义警报对话框中的正负按钮的颜色 - How to change the colour of Positive and negative button in Custom Alert dialog in android
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM