7

我有一个ImageViewTextView。我想将其放置TextView在图像视图下方,但中间与(沿水平轴)TextView的中间对齐。ImageView如果TextView更改中的文本变得更大或更小,则文本的中间始终需要与ImageView. 这可能xml吗?

4

3 回答 3

7

是的,您只是希望在LinearLayout设置android:gravitycenter_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为)。

于 2012-06-25T06:37:54.937 回答
0

设置TextView android:layout_width="fill_parent"和设置android:gravity="center"TextView

我认为它对你有帮助。

谢谢

于 2012-06-25T06:37:06.270 回答
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

机器人:省略号=“结束” 机器人:单线=“真”

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

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

于 2012-06-25T06:51:08.330 回答