安卓模拟器不能正确显示应用程序(Android Studio)

3

我正在制作一个基础短语应用程序(我在之前的问题中提到过),并且我已经准备好了所有内容。然而,模拟器无法正确显示该应用程序。这是工作室中的预览:

enter image description here

这是模拟器显示的内容:

enter image description here

我的代码没有任何错误,而且所有的Android Studio组件都是最新的。发生了什么?这是我的XML代码:
<?xml version="1.0" encoding="utf-8"?>
<GridLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_column="0"
        android:layout_row="0"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_gravity="fill"
        android:text="Hello"
        android:onClick="buttonTapped"
        android:id="@+id/button" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_column="1"
        android:layout_row="0"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_gravity="fill"
        android:text="How are you?"
        android:onClick="buttonTapped"
        android:id="@+id/howareyou" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_column="0"
        android:layout_row="1"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_gravity="fill"
        android:text="Good Evening"
        android:onClick="buttonTapped"
        android:id="@+id/goodevening" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_column="1"
        android:layout_row="1"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_gravity="fill"
        android:text="Please"
        android:onClick="buttonTapped"
        android:id="@+id/please" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_column="0"
        android:layout_row="2"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_gravity="fill"
        android:text="My name is..."
        android:onClick="buttonTapped"
        android:id="@+id/mynameis" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_column="1"
        android:layout_row="2"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_gravity="fill"
        android:text="Do you &#10; speak English?"
        android:onClick="buttonTapped"
        android:id="@+id/doyouspeakenglish" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_column="0"
        android:layout_row="3"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_gravity="fill"
        android:text="Welcome"
        android:onClick="buttonTapped"
        android:id="@+id/welcome" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_column="1"
        android:layout_row="3"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_gravity="fill"
        android:text="I live in..."
        android:onClick="buttonTapped"
        android:id="@+id/ilivein" />

</GridLayout>

1
请发布您的XML代码。 - Prerak Sola
我复制粘贴了你的XML并进行了测试。它运行得非常完美。 - Prerak Sola
1个回答

3
当布局重力设置为fill时,它会填充其容器。这就是为什么只显示第一个按钮的原因。
也许当前模拟器在渲染gridlayout方面存在一些问题,因此根布局成为按钮的容器。
我尝试了你的xml文件,在模拟和实际设备上都可以完美地工作。

你是对的!我刚刚创建了一个新项目,移动了代码,然后它就可以工作了。我以为我的问题无法解决,但现在已经解决了。谢谢! - Programmer Dude

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接