未找到 Android studio 上的 GridLayout

GridLayout on Android studio not found

我在 Android studio 上写了一个计算器应用程序,我需要使用 GridLayout 来设置和排列按钮,但我在调色板 window 上找不到 GridLayout。 如何添加?

You don't necessarily need a GridLayout

您可以使用 RelativeLayout 并通过一些 XML 属性连接您的按钮。

您必须使用的 XML 属性是:

  1. layout_alignEnd
  2. layout_alignStart
  3. layout_alignTop
  4. layout_alignRight
  5. layout_alignLeft
  6. layout_alignBottom

您可以使用此示例代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/relative1"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<EditText
    android:id="@+id/edt1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

<Button
    android:id="@+id/button1"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignEnd="@+id/button4"
    android:layout_alignRight="@+id/button4"
    android:layout_below="@+id/edt1"
    android:layout_marginTop="94dp"
    android:text="1" />

<Button
    android:id="@+id/button2"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/button1"
    android:layout_toLeftOf="@+id/button3"
    android:layout_toStartOf="@+id/button3"
    android:text="2" />

<Button
    android:id="@+id/button3"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/button2"
    android:layout_centerHorizontal="true"
    android:text="3" />

<Button
    android:id="@+id/button4"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/button1"
    android:layout_toLeftOf="@+id/button2"
    android:text="4" />

<Button
    android:id="@+id/button5"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/button4"
    android:layout_alignLeft="@+id/button2"
    android:layout_alignStart="@+id/button2"
    android:text="5" />

<Button
    android:id="@+id/button6"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/button3"
    android:layout_alignStart="@+id/button3"
    android:layout_below="@+id/button3"
    android:text="6" />

<Button
    android:id="@+id/button7"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/button4"
    android:layout_toLeftOf="@+id/button2"
    android:text="7" />

<Button
    android:id="@+id/button8"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/button5"
    android:layout_alignStart="@+id/button5"
    android:layout_below="@+id/button5"
    android:text="8" />

<Button
    android:id="@+id/button9"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/button6"
    android:layout_alignStart="@+id/button6"
    android:layout_below="@+id/button6"
    android:text="9" />

<Button
    android:id="@+id/buttonadd"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignEnd="@+id/edt1"
    android:layout_alignRight="@+id/edt1"
    android:layout_alignTop="@+id/button3"
    android:layout_marginLeft="46dp"
    android:layout_marginStart="46dp"
    android:layout_toRightOf="@+id/button3"
    android:text="+" />

<Button
    android:id="@+id/buttonsub"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignEnd="@+id/buttonadd"
    android:layout_alignLeft="@+id/buttonadd"
    android:layout_alignRight="@+id/buttonadd"
    android:layout_alignStart="@+id/buttonadd"
    android:layout_below="@+id/buttonadd"
    android:text="-" />

<Button
    android:id="@+id/buttonmul"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/buttonsub"
    android:layout_alignParentEnd="true"
    android:layout_alignParentRight="true"
    android:layout_alignStart="@+id/buttonsub"
    android:layout_below="@+id/buttonsub"
    android:text="*" />

<Button
    android:id="@+id/button10"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/button7"
    android:layout_toLeftOf="@+id/button2"
    android:text="." />

<Button
    android:id="@+id/button0"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/button8"
    android:layout_alignStart="@+id/button8"
    android:layout_below="@+id/button8"
    android:text="0" />

<Button
    android:id="@+id/buttonC"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/button9"
    android:layout_alignStart="@+id/button9"
    android:layout_below="@+id/button9"
    android:text="C" />

<Button
    android:id="@+id/buttondiv"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignEnd="@+id/buttonmul"
    android:layout_alignLeft="@+id/buttonmul"
    android:layout_alignRight="@+id/buttonmul"
    android:layout_alignStart="@+id/buttonmul"
    android:layout_below="@+id/buttonmul"
    android:text="/" />

<Button
    android:id="@+id/buttoneql"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignEnd="@+id/buttondiv"
    android:layout_alignLeft="@+id/button10"
    android:layout_alignRight="@+id/buttondiv"
    android:layout_alignStart="@+id/button10"
    android:layout_below="@+id/button0"
    android:layout_marginTop="37dp"
    android:text="=" />


结果是


来源:https://crunchify.com/how-to-create-simple-calculator-android-app-using-android-studio/

GridLayout 和 GridView 已发送到 Palette 中的 Legacy。

虽然应该尽量不要使用它,因为 RecyclerView 是更好的选择