2015-02-23 6 views
0

Мне нужно поставить два изображения один под другим в центре экрана. Они должны быть в центре. изображения будут меняться в зависимости от кода, так как я могу заставить изображения работать на всех экранах без перемещения или увеличения или уменьшения размера?Как установить изображения внутри макета на экране?

Я пробовал использовать сетку, но кажется, что слишком много кода для двух изображений. он работает, но есть ли что-нибудь более эффективное?

ответ

2

Для этого типа дизайна я всегда создают центральную точку на экране, проверьте ниже код -

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" > 

<ImageView 
    android:id="@+id/image1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/ic_launcher" 
    android:layout_centerHorizontal="true" 
    android:layout_above="@+id/center_point" /> 

<View 
    android:id="@+id/center_point" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_centerInParent="true"/> 

<ImageView 
    android:id="@+id/image2" 
    android:src="@drawable/ic_launcher" 
    android:layout_below="@+id/center_point" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" /> 

это, безусловно, работает.

Все лучшее

+0

Не могли бы вы сказать, почему вы добавили тег . Разве это не будет нормально работать без него? – Apurva

+0

@apurva, как вы это сделаете? Дайте свой ответ. – Ravi

+0

Изображение после изображения и установленное значение центра горизонтально верно для обоих – Apurva

0

Если у вас всегда только два изображения, вы можете установить его в XML-файл, например, что:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <ImageView 
     android:id="@+id/image1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" /> 

    <ImageView 
     android:id="@+id/image2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_alignParentBottom="true" /> 

</RelativeLayout> 

Первые центры изображения в родителю и второй один центров по горизонтали, а также выравнивает нижнюю часть экрана.

Удачи.

0

сделать вертикальный Linear-layout, содержащий оба ваших ImageView с, а затем установить равное layout_weight для них обоих. Установите layout_centerInParent верно для Linear_layout

<LinearLayout 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:id="@+id/lock_layout_keypad" 
    android:orientation="vertical" 
    android:layout_centerInParent="true" 
    android:layout_marginBottom="4dp"> 


    <ImageView 
     android:layout_weight="1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/imageView" 
     android:src="@drawable/ic_launcher" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" /> 

    <ImageView 
     android:layout_weight="1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/imageView2" 
     android:src="@drawable/ic_launcher" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" /> 

</LinearLayout> 

Вы можете удалить android:layout_weight.

0

Здесь этот код может помочь вам. Вы должны создать один LinearLayout и установить его вертикальную ориентацию и layout_gravity = center horizontal. После этого создайте два изображения, которые автоматически позиционируются в центре экрана один ниже другого. Я надеюсь, что это будет help you.Happy кодирование :)

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:layout_gravity="center_horizontal"> 


    <ImageView 
     android:id="@+id/image_view_two" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/ic_launcher" 
     /> 

    <ImageView 
     android:id="@+id/image_view_one" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/ic_launcher" /> 
</LinearLayout> 
Смежные вопросы