Android – ImageView sovrappone un altro ImageView

Vorrei fare un overlay ImageView un'altra image di visualizzazione come questo; solo la metà del cerchio verde sovrappone l'image:

immettere qui la descrizione dell'immagine

  • Android Modifica cassetto di navigazione Elementi del menu Testo programmato
  • startActivityForResult () da un elemento di frammento e di finitura, non chiama onActivityResult () in Frammento
  • Ottieni filepath dall'unità Google in Lollipop (MediaStore.MediaColumns.DATA == null)
  • Quando utilizzare 9-Patch
  • Intent e rapporto di Bundle
  • Qual è la differenza tra attività e intenti in Android?
  • Ho provato a utilizzare RelativeLayout e metto entrambi ImageView dentro. Poi sovrappongo il cerchio sull'image usando android:layout_alignBottom . Ha fatto sovrapposizione, ma non ho idea di come impostare l'offset in modo che solo la metà del cerchio sovrapponga l'image di base.

    EDIT:

    Spiacenti, ecco il mio codice xml di layout

     <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginBottom="32sp" > <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:src="@drawable/ic_person_black" android:adjustViewBounds="true" android:id="@+id/image_view_product" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@id/image_view_product" android:layout_centerHorizontal="true" android:background="@drawable/image_view_circle" android:src="@drawable/ic_circle" /> </RelativeLayout> 

  • Parametri degli events personalizzati di Firebase Analytics
  • CyanogenMod o AOSP: compilare un singolo progetto
  • Scrittura dei dati su USB HID utilizzando Javascript, HTML5 o qualsiasi lingua della piattaforma cross (support Android)
  • Android: rimuovi la pila posteriore
  • Come caricare l'icona dal pacchetto icon
  • Tastiera softkey Android 3.1 in modalità a schermo integer
  • 7 Solutions collect form web for “Android – ImageView sovrappone un altro ImageView”

    Ottengo un sacco di upvote per questa risposta. Quindi cerco di migliorare quella risposta. Può essere questo il modo migliore per farlo confrontare con altri due, perché questa soluzione non richiede di risolvere il layout o di dividere lo schermo in una parte uguale, forse è meglio farlo.

     <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:id="@+id/viewA" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/colorPrimary" android:orientation="horizontal"> <TextView android:id="@+id/subject" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="20dp" android:text="Thi" android:textColor="@android:color/white" android:textSize="17sp" /> </LinearLayout> <LinearLayout android:id="@+id/viewB" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@android:color/white" android:orientation="horizontal"> <TextView android:id="@+id/description" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="20dp" android:text="Thi" android:textColor="@android:color/black" android:textSize="17sp" /> </LinearLayout> </LinearLayout> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="16dp" android:clickable="true" android:src="@drawable/plus" app:layout_anchor="@+id/viewA" app:layout_anchorGravity="bottom|right|end"/> </android.support.design.widget.CoordinatorLayout> 

    Modo alternativo Prova questo

     <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> // this is your first layout to put the big image // use src or backgroud image as per requirement <LinearLayout android:background="@color/red_error" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"> </LinearLayout> // this is your bottom layout <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"> </LinearLayout> </LinearLayout> // This is the imageview which overlay the first LinearLayout <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/success" android:adjustViewBounds="true" android:layout_gravity="center"/> </FrameLayout> 

    il suo aspetto è come questo

    immettere qui la descrizione dell'immagine

    ha trovato una sola soluzione per quella (Edit) se la tua grande dimensione dell'image è altezza fissa puoi provare

      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <RelativeLayout android:id="@+id/layoutTop" android:background="@color/red_error" android:layout_width="match_parent" android:layout_height="200dp" > </RelativeLayout> <RelativeLayout android:id="@+id/layoutBottom" android:layout_width="match_parent" android:layout_height="0dp" android:layout_alignParentBottom="true" android:layout_below="@id/layoutTop" > </RelativeLayout> <ImageView android:id="@+id/overlapImage" android:layout_width="wrap_content" android:layout_height="40dp" android:layout_above="@id/layoutBottom" android:layout_centerHorizontal="true" android:layout_marginBottom="-20dp" android:adjustViewBounds="true" android:src="@drawable/testimage" /> </RelativeLayout> 

    Refernce: – Android: inserimento di ImageView in sovrapposizione tra i layout

    Spero che questo aiuterà. Buona fortuna

    Utilizza layout_marginTop = -20dp (metà della dimensione dell'image). Si salirà.

    android:layout_marginTop="-20dp"

    Prova in questo modo: basta cambiare layout_width e layout_height secondo le vostre esigenze.

     <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <View android:id="@+id/viewOne" android:layout_width="match_parent" android:layout_height="200dp" android:background="#126989" /> <View android:id="@+id/viewTwo" android:layout_width="match_parent" android:layout_height="70dp" android:layout_below="@+id/viewOne" android:background="#547866" /> <View android:layout_width="70dp" android:layout_height="70dp" android:layout_alignBottom="@+id/viewTwo" android:layout_centerHorizontal="true" android:background="#ff7800" android:layout_marginBottom="35dp" /> </RelativeLayout> 

    Sembra così:

    Immagine

    metti l'image in formato relativo, prima definisci l'image che vuoi mettere dietro il cerchio verde che definisci il cerchio verde come

     android:layout_alignBottom="@+id/Image1" 

    Che regolare la posizione dando margine all'image del cerchio verde.

    Ti consiglio di utilizzare un framelayout con queste due immagini.

    con il refresh imageview in basso e il ventilatore da tavolo in alto.

    Nota: quando il framelayout si comport come una pila, l'elemento in basso apparirà in alto.

    E fai impostare la gravità dell'icona di aggiornamento per essere inferiore al centro per far apparire in questo modo.

      <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ImageView android:src="@drawable/ic_fan" android:scaleType="centerCrop" android:layout_height="wrap_content" android:layout_width="match_parent"/> <ImageView android:src="@drawable/ic_refresh" android:layout_height="wrap_content" android:layout_width="wrap_content" android:gravity="center|bottom"/> </FrameLayout> 
     <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginBottom="32sp" > <ImageView android:id="@+id/ivBackground" android:layout_width="match_parent" android:layout_height="wrap_content" android:src="@drawable/ic_person_black" android:adjustViewBounds="true" android:id="@+id/image_view_product" /> <ImageView android:layout_width="wrap_content" android:layout_height="40dp" android:layout_marginTop="-20dp" android:layout_below="@+id/ivBackground" android:layout_centerHorizontal="true" android:background="@drawable/image_view_circle" android:src="@drawable/ic_circle" /> 

    Penso che questo dovrebbe aiutarti a modificare il tuo codice e apportre modifiche come segue
    – Ho cambiato l'altezza dell'image di cerchio a 40dp e poi dico il margine superiore -20 dp in modo che l'image sovrappone metà come ti serve su un'image di background.

    Non ho eseguito questo codice in modo da affrontare eventuali problemi solo lasciami sapere spero che questo funziona bene per te ..

    Immagine dello schermo:

    immettere qui la descrizione dell'immagine

    activity_main.xml:

      <RelativeLayout android:id="@+id/rl_image" android:layout_width="match_parent" android:layout_height="200dp"> <ImageView android:id="@+id/thumbnail" android:layout_width="match_parent" android:layout_height="160dp" android:background="?attr/selectableItemBackgroundBorderless" android:clickable="true" android:contentDescription="null" android:scaleType="fitXY" android:src="@drawable/album9" /> <ImageView android:id="@+id/imageView_round" android:layout_width="70dp" android:layout_height="70dp" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:src="@drawable/user_profile" /> </RelativeLayout> 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.