这个 XML 代码有啥问题? - 安卓工作室

Posted

技术标签:

【中文标题】这个 XML 代码有啥问题? - 安卓工作室【英文标题】:What is wrong with this XML code? - Android Studio这个 XML 代码有什么问题? - 安卓工作室 【发布时间】:2017-07-30 20:51:58 【问题描述】:

我创建了一个包含 200 个声音和一个底部导航栏的音板。 在华为 P8 Lite 和三星 Galaxy s7 等设备上,它看起来像这样: https://gyazo.com/2a08bcd731fb1cfeb07e72f75bc05e7e

在我的 nox 播放器和 bluestacks 上,它看起来像这样: https://gyazo.com/e26327d7ba0ed366f15c61bd3130ae39

这里是只有 2 列和 3 行的 XML 代码,只是为了保持摘要(通常有 100 行)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_
    android:layout_
    android:background="@drawable/background2"
    android:orientation="vertical"
    android:layout_marginTop="50dp">


    <ImageView
        android:id="@+id/imageView"
        android:layout_
        android:layout_
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
         />

    <ScrollView
        android:layout_
        android:layout_>

        <GridLayout
            android:layout_
            android:layout_>

            <Button
                android:id="@+id/button1"
                android:layout_weight = "1"
                android:layout_
                android:layout_column="0"
                android:layout_columnWeight="1"
                android:layout_rowWeight="1"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/mybutton"
                android:onClick="Button1"
                android:padding="3dp"
                android:text="Button1"
                android:textColor="#ffffff"
                android:textSize="20dp" />

            <Button
                android:id="@+id/Button2"
                android:layout_weight = "1"
                android:layout_
                android:layout_column="0"
                android:layout_columnWeight="1"
                android:layout_rowWeight="1"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"                       
                android:background="@drawable/mybutton"
                android:onClick="Button2"
                android:padding="5dp"
                android:text="Button2"
                android:textColor="#ffffff"
                android:textSize="20dp" />

            <Button
                android:id="@+id/Button3"
                android:layout_weight = "1"
                android:layout_
                android:layout_column="0"
                android:layout_column="1"
                android:layout_row="1"
                android:layout_rowWeight="1"
                android:layout_columnWeight="1"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/mybutton"
                android:onClick="Button3"
                android:padding="5dp"
                android:text="Button3"
                android:textColor="#ffffff"
                android:textSize="20dp" />

            <Button
                android:id="@+id/Button4"
                android:layout_weight = "1"
                android:layout_
                android:layout_column="0"
                android:layout_column="0"
                android:layout_row="1"
                android:layout_rowWeight="1"
                android:layout_columnWeight="1"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/mybutton"
                android:onClick="Button3"
                android:padding="5dp"
                android:text="Button4"
                android:textColor="#ffffff"
                android:textSize="20dp" />

            <Button
                android:id="@+id/Button5"
                android:layout_weight = "1"
                android:layout_
                android:layout_column="0"
                android:layout_column="0"
                android:layout_row="2"
                android:layout_rowWeight="1"
                android:layout_columnWeight="1"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/mybutton"
                android:onClick="Button5"
                android:padding="5dp"
                android:text="Button5"
                android:textColor="#ffffff"
                android:textSize="20dp" />

            <Button
                android:id="@+id/Button6"
                android:layout_weight = "1"
                android:layout_
                android:layout_column="0"
                android:layout_column="1"
                android:layout_row="2"
                android:layout_rowWeight="1"
                android:layout_columnWeight="1"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/mybutton"
                android:onClick="Button6"
                android:padding="5dp"
                android:text="Button6"
                android:textColor="#ffffff"
                android:textSize="20dp" />

    </GridLayout>

</ScrollView>

在搭载 Android 6 的设备上运行完美,但在搭载 Android 4 的设备上却没有任何显示。

我该如何解决这个错误?我希望该应用可以在 Android 4 以后的所有设备上使用。

警告!这不是广告,但如果您能告诉我是否发生此错误,那将非常有帮助。 Googe Play:Gronkh 音板 请下载并告诉我是否错误,请用它写你的版本。 之后就可以卸载应用了。

对不起,我的英语不好。

【问题讨论】:

链接:play.google.com/store/apps/… 这只是糟糕的设计。转储 GridLayout,学习使用 GridView 或 RecyclerView。 【参考方案1】:

您可以查看此代码。我删除了一些我认为不需要的属性。希望对你有帮助

<ScrollView
    android:layout_
    android:layout_
    android:layout_below="@id/imageView"
    android:fillViewport="true">

    <GridLayout
        android:layout_
        android:layout_
        android:columnCount="2">

    <Button
        android:id="@+id/button1"
        android:layout_
        android:layout_
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"
        android:onClick="Button1"
        android:padding="3dp"
        android:text="Button1"
        android:textColor="#ffffff"
        android:textSize="20dp" />

        <Button
        android:id="@+id/button2"
        android:layout_
        android:layout_
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"
        android:onClick="Button1"
        android:padding="3dp"
        android:text="Button1"
        android:textColor="#ffffff"
        android:textSize="20dp" />

        ...

    </GridLayout>
</ScrollView>

【讨论】:

以上是关于这个 XML 代码有啥问题? - 安卓工作室的主要内容,如果未能解决你的问题,请参考以下文章

定位软件的SDK与普通APP的SDK工作机制有啥不同?

安卓有啥更好的?定时器还是闹钟?

按下时如何使按钮变大? (安卓工作室)

当鼠标悬停在图像上方时,我正在尝试更改图像的 src 属性。这个JQuery代码不应该工作有啥原因吗?

安卓软件用ZIP方式打开时会出现几个文件夹,那些都代表了啥意思有啥用啊!

安卓。 TableLayout 不显示。图像视图问题