Android Studio上的GridLayout

时间:2018-11-25 13:46:19

标签: android-studio kotlin kotlin-android-extensions

请使用Kotlin在Android Studio上编写计算器应用,并且我需要GridLayout来设置和排列按钮,但是在调色板窗口中找不到GridLayout,请问如何在其中添加它。

2 个答案:

答案 0 :(得分:0)

  

您不一定需要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="=" />


结果是

enter image description here


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

答案 1 :(得分:0)

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

enter image description here

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