2012-06-18 10 views
6

prega di vedere sotto:In Android, come si posiziona un'immagine su un'altra per sembrare un badge?

iPhone badges

Ho provato ad utilizzare il layout assoluta, ma che è deprecato. Apprezzo il tuo aiuto, grazie.

+6

Mai, * mai *, *** mai *** uso 'AbsoluteLayout'. Mai. –

+2

@AlexLockwood: Quindi quello che stai cercando di dire è che le persone non dovrebbero usare 'AbsoluteLayout'? Ho pensato di controllare. ; D – Squonk

+1

@Squonk, Non c'è nulla come "troppa enfasi" quando si tratta di queste cose ... specialmente su StackOverflow: P –

risposta

16

RelativeLayout è una grande opzione.

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

<ImageView 
    android:id="@+id/icon" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:padding="5dp" 
    android:scaleType="centerCrop" 
    android:src="@drawable/iconImage" /> 

<ImageView 
    android:id="@+id/badge" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignRight="@+id/icon" 
    android:layout_alignTop="@+id/icon" 
    android:src="@drawable/badge" /> 

Se si vuole realmente un badge con un numero/testo dinamico, allora si può fare la seconda ImageView un TextView (o un ViewGroup come LinearLayout o RelativeLayout) e dargli una drawable background e imposta il testo su ciò che desideri.

+0

Grazie, è stato grandioso. – StackOverflowed

+0

@Sam Dozor Come faccio a visualizzare l'immagine del badge sulla parte esterna del primo ImageView (attualmente è visibile all'interno dell'icona di visualizzazione delle immagini). –

7

Dai un'occhiata al progetto ViewBadger su github (ma tieni presente che non dovresti provare a copiare altri elementi dell'interfaccia utente di piattaforme in app Android).

+2

+1 per non copiare l'interfaccia utente di altre piattaforme! –

+0

Normalmente odio +1, ma +1. Ci sono stato, fatto, un mondo di dolore - mai più. – Simon

Problemi correlati