在android中的imageview下居中文本

时间:2014-02-14 15:43:49

标签: android textview imageview centering

我需要在图像下放置一些文字。使用我当前的代码,文本位于图像下方,但具有相当大的上边距,并且偏离图像偏移(向右移动约10dp)。我希望我的文字直接在图像下方,以图像为中心。

我已尝试android:layout_centerInParent="true",但只将文字放在屏幕中间。

这是我的代码:

<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=".ScanResults" >

<ImageView
    android:id="@+id/productLogo"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:src="@drawable/wedge_color"
    android:paddingLeft="10dp"
    android:paddingRight="10dp" />

<TextView
    android:id="@+id/productTitle"
    android:layout_width="140dp"
    android:layout_height="wrap_content"
    android:layout_below="@id/productLogo"
    android:gravity="center"
    android:text="Fluffer Nutter Sandwich"
    android:textSize="14sp" />

</RelativeLayout>

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

android:gravity="center_horizontal|center_vertical"添加到文本视图中,使其成为布局的中心。

<TextView
    android:id="@+id/productTitle"
    android:layout_width="140dp"
    android:layout_height="wrap_content"
    android:layout_below="@id/productLogo"
    android:gravity="center_horizontal|center_vertical"
    android:text="Fluffer Nutter Sandwich"
    android:textSize="14sp" />

答案 1 :(得分:0)

对于 ImageView ,您将“100dp”提供给 android:layout_width ,但是对于 TextView ,你给了 140dp ...这就是为什么TextView没有正确对齐的原因。现在为 TextView 设置android:layout_width="100dp",问题就会解决。

<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=".ScanResults" >

    <ImageView
        android:id="@+id/productLogo"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:src="@drawable/wedge_color"
        android:paddingLeft="10dp"
        android:paddingRight="10dp" />

    <TextView
        android:id="@+id/productTitle"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/productLogo"
        android:gravity="center"
        android:text="Fluffer Nutter Sandwich"
        android:textSize="14sp" />

</RelativeLayout>