2012-05-28 9 views
6

Mam aplikację na Androida, w której użytkownik maluje, przesuwa i przekształca niektóre obiekty na zdjęciu. Na tej stronie mój układ ekranu składa się ze zdjęcia, które jest załadowane, a poniżej (w widoku pionowym) niektórych przycisków. Moim zdaniem wygląda dokładnie tak, jak chcę go z poniższej xml:Android - Ustaw widok, aby być na szczycie przedmiotów narysowanych za pomocą płótna

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    android:id="@+id/linear" > 

    <LinearLayout 
     android:id="@+id/buttons" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:gravity="center" 
     android:layout_alignParentBottom="true"> 

      <ImageView 
       android:id="@+id/draw" 
       android:layout_width="80dp" 
       android:layout_height="50dp" 
       android:clickable="true" 
       android:src="@drawable/draw"/> 

      <ImageView 
       android:id="@+id/delete" 
       android:layout_width="80dp" 
       android:layout_height="50dp" 
       android:clickable="true" 
       android:layout_toRightOf="@+id/erase" 
       android:src="@drawable/delete"/> 

      <ImageView 
       android:id="@+id/done" 
       android:layout_width="80dp" 
       android:clickable="true" 
       android:layout_height="50dp" 
       android:layout_toRightOf="@+id/delete"   
       android:src="@drawable/done"/>   

     </LinearLayout>  



    <ImageView 
     android:id="@+id/photo" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_gravity="center" 
     android:layout_above="@id/buttons"/> 


</RelativeLayout> 

Problem polega na tym, że chcę przyciski być zawsze na wierzchu malowanych przedmiotów. Teraz, jeśli użytkownik maluje linię, a następnie przesuwa ją w taki sposób, że jedna krawędź będzie niższa niż obraz, ta linia będzie nad przyciskami. W tym momencie będzie nietykalny, ponieważ płótno jest ustawione na bitmapę, która ma mój obraz, ale będzie widoczne. Chciałbym, żeby zniknął w taki sposób, w jaki zniknie, jeśli część linii wydostanie się z ekranu.

Jak mogę to wdrożyć? Czy istnieje jakiś atrybut, który może zapewnić, że te przyciski są zawsze nad pomalowanymi obiektami? Z góry dziękuję!

Odpowiedz

8

Jeśli masz @OverrideonDraw lub onLayout metoda, spróbuj przynosząc

<LinearLayout 
    android:id="@+id/buttons"> 

z przodu za pomocą v.bringToFront() gdzie v będzie twoim LinearLayout.

Powiązane problemy