2013-04-06 5 views
0

Я разрабатываю проект Android для перетаскивания изображений, используя Relative Layout.Относительная компоновка, неправильное расположение изображений на разных телефонах

Проблема заключается в том, что изображения сидят в таком положении, как ожидалось, когда я тестирую его на своем телефоне Galaxy Grand, но если я тестирую тот же проект на своем Galaxy Nexus, изображения отображаются неправильно на экране. Пожалуйста, просмотрите скриншоты ниже: 1) galaxy nexus
2) Галактические снимки большого экрана и помогите мне.

Вот мой XML код:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#3B5998" > 

    <Chronometer 
     android:id="@+id/chronometer" 
     android:layout_width="0dp" 
     android:layout_height="0dp" 
     android:textSize="20sp" 
     android:textStyle="bold" 
     android:typeface="sans" 
     android:visibility="gone" /> 


    <ImageView 
     android:id="@+id/imagebackgroundofearth" 
     android:layout_width="100dp" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="15dp" 
     android:layout_height="100dp" 
     android:src="@drawable/imagered" /> 

    <ImageView 
     android:id="@+id/imageviewunderleft" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:layout_alignParentBottom="true" 
     android:layout_marginBottom="150dp" 
     android:layout_marginLeft="30dp" 
     android:src="@drawable/imagered" /> 

    <ImageView 
     android:id="@+id/imageviewunderright" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:layout_alignParentBottom="true" 
     android:layout_marginBottom="150dp" 
     android:layout_marginLeft="190dp" 
     android:src="@drawable/imageorange" /> 

    <ImageView 
     android:id="@+id/imageviewabove" 
     android:layout_width="100sp" 
     android:layout_height="100sp" 
     android:layout_marginTop="15dp" 
     android:layout_marginLeft="110dp" 
     android:src="@drawable/earth" /> 

    <Button 
     android:id="@+id/reload" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_marginBottom="30dp" 
     android:layout_marginLeft="100dp" 
     android:layout_marginRight="100dp" 
     android:text="Reload" /> 

</RelativeLayout> 
+0

, пожалуйста, покажите вам текущий код. –

+0

есть так много вещей, которые могут вызвать это. Нам нужно будет увидеть ваши файлы макета и, возможно, ваш код, чтобы понять это. – HalR

+0

@HalR, Emil Adz: Я добавил код XML. Пожалуйста, проверьте! Благодаря! – DevAndro

ответ

1

Несколько небольших изменений, как это могло бы быть то, что вы ищете:

<Chronometer 
     android:id="@+id/chronometer" 
     android:layout_width="0dp" 
     android:layout_height="0dp" 
     android:textSize="20sp" 
     android:textStyle="bold" 
     android:typeface="sans" 
     android:visibility="gone" /> 


<ImageView 
     android:id="@+id/imagebackgroundofearth" 
     android:layout_width="100dp" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="15dp" 
     android:layout_height="100dp" 
     android:src="@drawable/imagered" /> 

<ImageView 
     android:id="@+id/imageviewunderleft" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:layout_alignParentBottom="true" 
     android:layout_marginBottom="150dp" 
     android:layout_marginLeft="30dp" 
     android:src="@drawable/imagered" /> 

<ImageView 
     android:id="@+id/imageviewunderright" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:layout_alignParentBottom="true" 
     android:layout_marginBottom="150dp" 
     android:layout_alignParentRight="true" 
     android:layout_marginRight="30dp" 
     android:src="@drawable/imageorange" /> 

<ImageView 
     android:id="@+id/imageviewabove" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:layout_marginTop="15dp" 
     android:layout_centerHorizontal="true" 
     android:src="@drawable/earth" /> 

<Button 
     android:id="@+id/reload" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_marginBottom="30dp" 
     android:layout_marginLeft="100dp" 
     android:layout_marginRight="100dp" 
     android:text="Reload" /> 

Если вы сделаете два нижних изображения, измеренные с их соответствующей стороны, всегда будут соответствовать eac другие - иногда немного ближе, иногда немного дальше. Вы также можете сделать их относительно центра, если хотите.

Я не был уверен, что вы пытались сделать с землей. Если вы ожидаете, что они выстроились в линию, вы должны сделать их одинаковыми. Кроме того, вы использовали некоторые sp, где, я думаю, вы имели в виду dp.

Я надеюсь, что это сработает для вас.

+0

Спасибо, что работает. Использовал тот же код в XML, и мне пришлось изменить одну линию программно. Он начал нормально работать. – DevAndro

Смежные вопросы