Android Eclipse - 不幸的是,按钮在 click/touch 上发生了变化
Android Eclipse - Buttons unfortunately changing upon click/touch
我正在构建一个计算器应用程序,但我遇到了按钮问题。
当它是 clicked/touched 时,按钮文本 "jumps" 似乎在按钮的表面上向上了一点。我附上了之前和之后的截图来展示。任何想法为什么会发生这种情况?我在底部附上了我的 XML 文件。如果需要,如果我没有看到任何帮助,我也会附上我的 MainActivity.java。非常感谢。
<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:background="#8CD11D"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.funkycalc.MainActivtiy\" >
<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/clearb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="CLR"
android:textStyle="bold" />
<Button
android:id="@+id/deleteb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="DEL"
android:textStyle="bold" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/oneb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="1"
android:textStyle="bold" />
<Button
android:id="@+id/twob"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="2"
android:textStyle="bold" />
<Button
android:id="@+id/threeb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="3"
android:textStyle="bold" />
<Button
android:id="@+id/subtractb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="-"
android:textStyle="bold" />
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/fourb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="4"
android:textStyle="bold" />
<Button
android:id="@+id/fiveb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="5"
android:textStyle="bold" />
<Button
android:id="@+id/sixb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="6"
android:textStyle="bold" />
<Button
android:id="@+id/addb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="+"
android:textStyle="bold" />
</TableRow>
<TableRow
android:id="@+id/tableRow4"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/sevenb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="7"
android:textStyle="bold" />
<Button
android:id="@+id/eightb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="8"
android:textStyle="bold" />
<Button
android:id="@+id/nineb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="9"
android:textStyle="bold" />
<Button
android:id="@+id/divideb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="/"
android:textStyle="bold" />
</TableRow>
<TableRow
android:id="@+id/tableRow5"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/zerob"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="0"
android:textStyle="bold" />
<Button
android:id="@+id/decimalb"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".5"
android:text="."
android:textStyle="bold" />
<Button
android:id="@+id/multiplyb"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".5"
android:text="x"
android:textStyle="bold" />
</TableRow>
<TableRow
android:id="@+id/tableRow6"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/equalsb"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="="
android:textStyle="bold" />
</TableRow>
</TableLayout>
<TextView
android:id="@+id/result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="14dp"
android:textSize="55sp" />
如果在整个布局中使用 tablelayout 而不是在 i 中使用 Relative,这可能是更好的选择。 Table 与相对布局相比,布局可以更好地组织事物。可能会有帮助
或
在每个按钮中尝试这个:
android:gravity="center"
您的 ninepatch 图片可能有问题
来自 this tutorial 的下图可以解释问题的原因
"fill area"是写文字的区域。确保您的按下状态图像具有与正常状态图像相同的填充区域。
我正在构建一个计算器应用程序,但我遇到了按钮问题。
当它是 clicked/touched 时,按钮文本 "jumps" 似乎在按钮的表面上向上了一点。我附上了之前和之后的截图来展示。任何想法为什么会发生这种情况?我在底部附上了我的 XML 文件。如果需要,如果我没有看到任何帮助,我也会附上我的 MainActivity.java。非常感谢。
<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:background="#8CD11D"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.funkycalc.MainActivtiy\" >
<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/clearb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="CLR"
android:textStyle="bold" />
<Button
android:id="@+id/deleteb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="DEL"
android:textStyle="bold" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/oneb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="1"
android:textStyle="bold" />
<Button
android:id="@+id/twob"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="2"
android:textStyle="bold" />
<Button
android:id="@+id/threeb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="3"
android:textStyle="bold" />
<Button
android:id="@+id/subtractb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="-"
android:textStyle="bold" />
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/fourb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="4"
android:textStyle="bold" />
<Button
android:id="@+id/fiveb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="5"
android:textStyle="bold" />
<Button
android:id="@+id/sixb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="6"
android:textStyle="bold" />
<Button
android:id="@+id/addb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="+"
android:textStyle="bold" />
</TableRow>
<TableRow
android:id="@+id/tableRow4"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/sevenb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="7"
android:textStyle="bold" />
<Button
android:id="@+id/eightb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="8"
android:textStyle="bold" />
<Button
android:id="@+id/nineb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="9"
android:textStyle="bold" />
<Button
android:id="@+id/divideb"
style="?android:attr/buttonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="/"
android:textStyle="bold" />
</TableRow>
<TableRow
android:id="@+id/tableRow5"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/zerob"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="0"
android:textStyle="bold" />
<Button
android:id="@+id/decimalb"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".5"
android:text="."
android:textStyle="bold" />
<Button
android:id="@+id/multiplyb"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".5"
android:text="x"
android:textStyle="bold" />
</TableRow>
<TableRow
android:id="@+id/tableRow6"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/equalsb"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="="
android:textStyle="bold" />
</TableRow>
</TableLayout>
<TextView
android:id="@+id/result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="14dp"
android:textSize="55sp" />
如果在整个布局中使用 tablelayout 而不是在 i 中使用 Relative,这可能是更好的选择。 Table 与相对布局相比,布局可以更好地组织事物。可能会有帮助
或
在每个按钮中尝试这个:
android:gravity="center"
您的 ninepatch 图片可能有问题
来自 this tutorial 的下图可以解释问题的原因
"fill area"是写文字的区域。确保您的按下状态图像具有与正常状态图像相同的填充区域。