【发布时间】:2014-02-27 09:32:20
【问题描述】:
我正在测试Android Studio,我正在尝试编写一个简单的计算器来测试它并学习Android。
我想要实现的是这样的:
我希望在每台设备上都有这种行为,无论是纵向还是横向。
我所做的是使所有内容都与字符串“Result is 0:”相关,所以是这样的:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="org.mennini.mycalc.MainActivity$PlaceholderFragment">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Sum is: 0"
android:id="@+id/textView"
android:onClick="onButtonClick"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="8"
android:id="@+id/button"
android:layout_marginTop="40dp"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true"
android:onClick="onButtonClick" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="7"
android:id="@+id/button2"
android:layout_alignTop="@+id/button"
android:layout_toLeftOf="@+id/button"
android:onClick="onButtonClick" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="9"
android:id="@+id/button3"
android:layout_alignTop="@+id/button"
android:layout_toRightOf="@+id/button"
android:onClick="onButtonClick" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5"
android:id="@+id/button4"
android:layout_below="@+id/button"
android:layout_toRightOf="@+id/button2"
android:layout_marginTop="19dp"
android:onClick="onButtonClick" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="4"
android:id="@+id/button5"
android:layout_alignTop="@+id/button4"
android:layout_toLeftOf="@+id/button4"
android:onClick="onButtonClick" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="6"
android:id="@+id/button6"
android:layout_alignTop="@+id/button4"
android:layout_toRightOf="@+id/button4"
android:onClick="onButtonClick" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2"
android:id="@+id/button7"
android:layout_below="@+id/button4"
android:layout_toRightOf="@+id/button5"
android:layout_marginTop="19dp"
android:onClick="onButtonClick" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1"
android:id="@+id/button8"
android:layout_alignTop="@+id/button7"
android:layout_toLeftOf="@+id/button7"
android:onClick="onButtonClick" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3"
android:id="@+id/button9"
android:layout_alignTop="@+id/button7"
android:layout_toRightOf="@+id/button7"
android:onClick="onButtonClick" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:id="@+id/button10"
android:layout_below="@+id/button7"
android:layout_alignLeft="@+id/button8"
android:layout_alignStart="@+id/button8"
android:layout_marginTop="19dp"
android:layout_toLeftOf="@+id/button9"
android:onClick="onButtonClick" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="."
android:id="@+id/button11"
android:layout_alignTop="@+id/button10"
android:layout_toRightOf="@+id/button10"
android:onClick="onButtonClick" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="C"
android:id="@+id/button12"
android:layout_below="@+id/button10"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:onClick="onButtonClick" />
列数少很容易,但如何处理偶数,例如示例中的?
更多,在 Android Studio 中,我尝试使用表格布局和网格布局,但我不明白如何设置具有特定行数和列数的网格,即 5 行 x 4 列网格,即我可以拖动一个 GridLayout 并设置行数和列数,但是当我在它上面拖动一些控件时,比如一个按钮,我看到一个绿色网格下面有比预期更多的单元格,所以我打算在我的 5x4 网格上绘制按钮并且让网格本身水平居中会令人沮丧。
最后(感谢您阅读此处)问题:我该如何处理这种情况?我使用与 textview 相关的所有按钮的想法是好是坏? 我使用 GridLayout 的想法是好主意还是愚蠢的主意?
我可以用什么聪明的方法来处理这个问题????
非常感谢
【问题讨论】:
-
我想你应该为此使用网格布局。请检查您可能得到想法的链接:mobile.tutsplus.com/tutorials/android/…
标签: android android-layout button alignment android-studio