Android:将下面和另一个元素中的一个元素对齐

时间:2012-06-25 06:32:43

标签: android alignment

我有ImageViewTextView。我想将TextView放在图片视图下方,但TextView的中间与ImageView的中间(沿水平轴)对齐。如果TextView中的文字更改为更大或更小的内容,则文本的中间部分始终需要与ImageView的中间部分保持对齐。这可能在xml吗?

3 个答案:

答案 0 :(得分:7)

是的,您只是希望将LinearLayout设置为android:gravity的垂直center_horizontal中包含这两个元素。

这样的事情:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    ... >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ... />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        ... />

</LinearLayout>

由于TextView的宽度为wrap_content,因此无需设置其重力。我这样做只是为了安全(另外,我也可以将宽度设置为match_parent)。

答案 1 :(得分:0)

设置TextView android:layout_width="fill_parent"并在android:gravity="center"中设置TextView

我认为它会对你有所帮助。

由于

答案 2 :(得分:0)

您可以按如下方式使用RealtiveLayout ..

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    ... >

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ... />

    <TextView
        android:layout_below="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
         />

</RelativeLayout>

如果您希望textview仅为单行,请将以下属性添加到TextView

机器人:ellipsezed = “端” 机器人:SINGLELINE = “真”

使用给定的布局并将其添加到您现有的任何布局中,以获得您想要的结果..

希望这个解释对你有用..