2012-06-08 4 views
1

Я использую LinearLayout, чтобы разместить два ImageView горизонтально. У меня есть изображение, размещенное на ImageView. Теперь мне нужно добавить небольшое изображение по изображению на ImageView. Я видел много сообщений, но все они имеют дело с Relativelayout или Framelayout. Вот сегмент кода XML, который я использовал.Android: отображение изображения через изображение в ImageView

<LinearLayout 
    android:id="@+id/relativeLayout2" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="10dip" 
    android:orientation="horizontal" > 

    <ImageView 
     android:id="@+id/imgmode31" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="10dp" 
     android:adjustViewBounds="true" 
     android:maxHeight="180dp" 
     android:maxWidth="140dp" 
     android:scaleType="fitXY" 
     android:src="@drawable/i5" > 
    </ImageView> 

    <ImageView 
     android:id="@+id/imgmode32" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:adjustViewBounds="true" 
     android:longClickable="false" 
     android:maxHeight="180dp" 
     android:maxWidth="280dp" 
     android:scaleType="fitXY" 
     android:src="@drawable/i1" > 
    </ImageView> 

</LinearLayout> 

Любая помощь будет очень признательна.

ответ

1

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

Я думаю, что это то, для чего предназначен вид на поверхность. Он обеспечивает прозрачную поверхность рисования по всему экрану, позволяя рисовать поверх других видов.

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

0

A LinearLayout размещает элементы линейно, один рядом друг с другом. Если вы хотите разместить элемент поверх другого, вам необходимо обратиться к FrameLayout или RelativeLayout.

Если вы меняете свой LinearLayout на номер FrameLayout, вы должны увидеть два перекрывающих друг друга .

1

вы можете сделать это легко с относительной макете

<RelativeLayout 
android:id="@+id/relativeLayout2" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" > 
    <ImageView  
    android:layout_height="wrap_content"  
    android:layout_width="wrap_content" 
    android:adjustViewBounds="true" 
    android:scaleType="fitXY" 
    android:src="@drawable/i5" 
    android:id="@+id/imgmode31" 
    android:maxHeight="180dp" 
    android:maxWidth="140dp"> 
    </ImageView> 
    <ImageView  
    android:layout_height="wrap_content"  
    android:layout_width="wrap_content" 
    android:scaleType="fitXY" 
    android:longClickable="false" 
    android:adjustViewBounds="true" 
    android:src="@drawable/i1" 
    android:id="@+id/imgmode32" 
    android:maxHeight="180dp" 
    android:maxWidth="280dp"> 
    </ImageView> 
</RelativeLayout> 

если вы хотите ImagView накладываются друг на друга, то сделать их Height и Width же и вы также можете принести любой из ImageView на фронте во время выполнения

+0

-1 для уродливого форматирования, но +1 за правильный ответ. Я оставлю вас в 0! – Justin

+0

@ Justin благодарит за то, что указал на мое формирование, так как даже я не знал, что я вставил такой плохо сформированный код. Возможно, я сделал это с мобильного. – Siddhesh

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