无法在RelativeLayout中居按钮文本

时间:2013-08-31 12:37:09

标签: android android-layout

我正在按照教程注意到我的按钮文本没有与按钮的中心对齐。我试过玩

android:gravity="center"
android:layout_gravity="center"

并且没有运气

这是我的完整代码:

<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: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=".StartingPoint" >

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Your total is 0"
    android:textSize="40sp"
    android:layout_centerHorizontal="true"
    android:id="@+id/tvDisplay"
     />

<Button
    android:id="@id/bAdd"
    android:layout_width="250sp"
    android:layout_height="wrap_content"
    android:text="Add one"
    android:textSize="20sp"
    android:layout_below="@id/tvDisplay"/>

</RelativeLayout>

视图

view

4 个答案:

答案 0 :(得分:0)

我测试了你的代码,我只需要在

添加“+”
<Button
    android:id="@+id/bAdd"

使错误消失。预览看起来很好,文本以按钮为中心。

答案 1 :(得分:0)

删除所有这些填充。

android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"

答案 2 :(得分: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: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=".StartingPoint" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Your total is 0"
android:textSize="40sp"
android:layout_centerHorizontal="true"
android:id="@+id/tvDisplay"
 />

<Button
android:id="@+id/bAdd"
android:layout_width="250sp"
android:layout_height="wrap_content"
android:text="Add one"
android:textSize="20sp"
android:layout_below="@+id/tvDisplay"/>

<Button
android:id="@+id/bSub"
android:layout_width="250sp"
android:layout_height="wrap_content"
android:text="Subtract one"
android:textSize="20sp"
android:layout_below="@+id/bAdd"/>

</RelativeLayout>

答案 3 :(得分:0)

好 首先你可以改变这一行......

android:id="@id/bAdd"

这一行

android:id="@+id/bAdd"

第二次使用“dp”代替“sp”。您可以使用“sp”作为文本大小,但对于宽度或高度,请使用“dp”。

但我真的不知道你为什么遇到这个问题。

我只是复制/粘贴您的代码并且对我来说非常好。

以下是减去按钮的结果

<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: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=".StartingPoint" >

<TextView
    android:id="@+id/tvDisplay"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:text="Your total is 0"
    android:textSize="40sp" />

<Button
    android:id="@+id/bAdd"
    android:layout_width="250dp"
    android:layout_height="wrap_content"
    android:layout_below="@id/tvDisplay"
    android:text="Add one"
    android:textSize="20sp" />

<Button
    android:id="@+id/bSub"
    android:layout_width="250dp"
    android:layout_height="wrap_content"
    android:layout_below="@+id/bAdd"
    android:text="Subtract one"
    android:textSize="20sp" />

</RelativeLayout>

尝试这些选项。

  1. 清理项目(项目&gt;清洁)
  2. 关闭xml并再次打开
  3. 关闭Eclipse并再次打开
  4. 使用相同的代码创建新的Android XML文件
  5. 尝试预览“图形布局”选项卡上的所有屏幕。
  6. 我真的不知道这是否可以解决您的问题,但您可以尝试。有时api做同样疯狂的事情。

    谢谢和问候。