2015-07-29 3 views
1

Я уже пробовал добавить layout_gravity, and gravity, and centerInParent .. но вид изображения все еще отображается в верхнем верхнем углу экрана. Я что-то пропустил?ImageView не может быть центрирован в RelativeLayout

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 

    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    > 

    <ImageView 
     android:id="@+id/noHistroySign" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:layout_gravity="center" 
     android:gravity="center" 
     android:background="@drawable/sign" 
     /> 
    .... 
+0

просто установите гравитацию RelativeLayout как центр. Это должно сработать. –

+0

Можете ли вы показать нам * все * макета .xml? Кажется, что что-то происходит за пределами этих двух взглядов, и нет достаточного контекста, чтобы понять, что. –

ответ

3

Я проверил макет. Ваш ImageView уже находится в центре. Это верно.

Я думаю, что есть проблема в android:background="@drawable/sign" Возможно, изображение знака не отображается правильно или не найдено или нет в папке с возможностью переноса.

Попробуйте изменить другое изображение, а другое изображение будет в центре отлично.

+0

Вы правы. Это странно, потому что это работает на телефоне. Проблема началась, когда я сделал копию этого макета, чтобы посмотреть экраны размером с Tablet. Спасибо! – BVtp

0

Поместите этот код в ImageView

android:layout_centerVertical="true" 
android:layout_centerHorizontal="true" 
+0

К сожалению, это не помогло. Оно все еще находится в верхнем левом углу. Спасибо. – BVtp

+0

удалить эти три кода android: layout_centerInParent = "true" android: layout_gravity = "center" android: gravity = "center" –

0

В RelativeLayout использовании ниже собственности мы сосредоточены ImageView или другого ребенка view.Just добавить ниже линии в ImageView собственности.

android:layout_centerVertical="true"
0

удалить

android:layout_gravity="center" 
    android:gravity="center" 

и написать

android:src="@drawable/sign" 

Inplace из

android:background="@drawable/sign" 
0

Попробуйте

<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" 
    tools:context=".MainActivity" > 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:src="@drawable/sign" /> 

</RelativeLayout> 

Или попробуйте этот

<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:gravity="center" 
    tools:context=".MainActivity" > 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/sign" /> 

</RelativeLayout> 
Смежные вопросы