首页 > 解决方案 > Xamarin Android GridLayout - 行跨度适用于设计器,但不适用于模拟器

问题描述

我正在尝试设计一个有 6 个按钮的表单。1 个按钮将占据屏幕的一半,其他按钮将分别占用其余的屏幕空间。我决定使用有 10 行的 GridLayout,第一个按钮的行跨度为 5,其他每个按钮的行跨度为 1。本质上,我希望行跨度为 5 的按钮比其他按钮大 5 倍。这在设计器中看起来是正确的,但在模拟器上却不是。有谁知道如何创建这样的布局?

设计师:(我期待看到的) 链接到设计师截图

模拟器:(我实际看到的) 链接到模拟器截图

主要.axml:

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:p1="http://schemas.android.com/apk/res/android"
    p1:layout_width="match_parent"
    p1:layout_height="match_parent"
    p1:id="@+id/gridLayout1"
    p1:rowCount="10"
    p1:orientation="vertical">
    <Button
        p1:text="Button"
        p1:layout_gravity="fill"
        p1:layout_rowSpan="5"
        p1:id="@+id/button1" />
    <Button
        p1:text="Button"
        p1:layout_rowSpan="1"
        p1:layout_gravity="fill"
        p1:id="@+id/button2" />
    <Button
        p1:text="Button"
        p1:layout_rowSpan="1"
        p1:layout_gravity="fill"
        p1:id="@+id/button3" />
    <Button
        p1:text="Button"
        p1:layout_rowSpan="1"
        p1:layout_gravity="fill"
        p1:id="@+id/button4" />
    <Button
        p1:text="Button"
        p1:layout_rowSpan="1"
        p1:layout_gravity="fill"
        p1:id="@+id/button5" />
    <Button
        p1:text="Button"
        p1:layout_rowSpan="1"
        p1:layout_gravity="fill"
        p1:id="@+id/button6" />
</GridLayout>

经过几个小时的搜索,我看了看,在网上找不到任何帮助。我尝试的所有教程都没有按照我的需要工作。

我正在使用 Visual Studio 2017

我安装了以下 SDK(我几天前使用 Visual Studio 安装程序安装并在包下选择了 xamarin,所以这几乎是默认安装。)

SDK: 已安装的 SDK

提前致谢。

标签: androidxamarinvisual-studio-2017grid-layoutandroid-gridlayout

解决方案


推荐阅读