2014-02-14 3 views
0

Мне нужно поместить текст под изображение. С моим текущим кодом текст находится под изображением, но с довольно большим верхним краем и находится вне центра изображения (перемещается вправо около 10 дп). Я хотел бы иметь текст прямо под изображением, с изображением.Центрирование текста под представлением изображения в android

Я пробовал 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> 

Спасибо за любую помощь.

ответ

0

Для ImageView, вы давали "100dp" к андроида: layout_width но в случае TextView, вы давали 140dp ... вот почему TextView не выравнивая правильно. Теперь установите android:layout_width="100dp" на TextView, проблема будет решена.

<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> 
+0

Это было так, мне так надоело, что я забыл, что изменил размеры изображения ... Спасибо! – Tim

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" /> 
Смежные вопросы