android - 将 TextView 居中,同时将其保持在按钮右侧?

标签 android android-layout android-relativelayout

我很确定我以前曾经这样做过,但我忘记了是怎么做的。

问题是这样的: 我有一个按钮和一个 TextView ,我希望 TextView 居中,而按钮位于左侧。

没问题吗?只需将它们放在相对布局中,使 TextView 居中,按钮对齐父左。

但现在我要动态更改文本,因此它可以写在按钮顶部!我只需在 TextView 上添加 toRightOf="@id/button"即可。不,现在它不再居中了。

我希望可以提供屏幕截图,但计算机似乎内存不足,无法提供屏幕截图。

这里有一些代码:http://pastebin.com/3N70Vjre (因为我无法粘贴xml...?)

  <RelativeLayout
        android:id="@+id/header"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true">
        <Button
                android:id="@+id/leftbutton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:text="text!"
                />
        <TextView
                android:id="@+id/toptext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="@android:color/white"
                android:layout_toRightOf="@id/leftbutton"
                android:layout_centerInParent="true"
                android:textSize="16sp"
                android:textStyle="bold"
                android:text="Text!"
                android:singleLine="true"
                />
  </RelativeLayout>

最佳答案

试试这个(不幸的是我在工作,所以无法跳到 Eclipse 来获取一些代码)-

  • 将 TextView 的layout_width更改为fill_parent。
  • 将 TextView 的重力设置为居中(以便文本在 TextView 内居中)
  • 将 Button 的layout_weight 设置为 1,将 TextView 的layout_weight 设置为 2。请注意,您可能需要修改这些数字才能获得所需的布局。

这应该使 TextView 的文本在 Button 之后居中,但它不会使 TextView 本身居中。您可以通过用容器(线性/相对布局)替换 TextView 并在布局而不是 TextView 上执行与上面相同的方法来实现此目的。然后,您可以将 TextView 放入容器内,并将容器的重力设置为“中心”。

希望这可以帮助您指明正确的方向:)

关于android - 将 TextView 居中,同时将其保持在按钮右侧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4378826/

相关文章:

android margin 不同背景颜色的相对布局

java - 如何使用位图 getPixels 函数从列中复制像素

android - 这里的 Maps MapView 在 Fragment 中不起作用

java - 设置数组中的一个元素会更改其他元素

android - 去除 CardView 的圆角

android - 如何在 RelativeLayout 中找到导致循环依赖的原因

Android录制没有音频的视频

java - 不同的屏幕尺寸

android - 控件在实际 android 设备中无法正确呈现

android - 将 ScrollView 添加到 RelativeLayout 会更改小部件的位置