Icona layout aiuto
-
12-11-2019 - |
Domanda
Sto cercando di replicare il layout di Apple delle icone delle sue app. Ho problemi a usare <merge>
e <include>
Poiché non sembra visualizzare nell'app quando la eseguo.
Ecco la parte di unione:
<Button android:id="@+id/deleteContact"
android:text="X"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView android:id="@+id/personName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="bottom|right"
android:layout_gravity="bottom|right"
android:textSize="20sp"
android:text="asdfasdf"/>
<ImageView android:id="@+id/personImage"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/icon"/>
</merge>
L'inclusione è qui:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<include layout="@layout/icon"/>
</LinearLayout>
Sto mettendoli in una gridview qui:
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/contactsGrid"
android:layout_width="fill_parent"
android:layout_weight="1"
android:layout_height="fill_parent"
android:numColumns="3"
android:horizontalSpacing="3dip"
android:verticalSpacing="3dip" />
Siamo riusciti a unire l'immagine e il testo finora usando Relativayouts, tuttavia quando aggiungiamo il pulsante Elimina, l'intera icona stessa non può più essere cliccata.
Soluzione
Sembra che tu stia complicando le cose più di quanto potrebbero dover essere. Prova a usare un relativeLayout come vista genitore per il pulsante, il testo e laview Image. Ad esempio, dai un'occhiata al seguente:
<?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/personImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView android:id="@+id/personName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/personImage"
android:layout_alignRight="@id/personImage"/>
<Button android:id="@+id/deleteContact"
android:text="X"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@id/personImage"
android:layout_alignLeft="@id/personImage"/>
</RelativeLayout>
Dovresti effettivamente essere in grado di usarlo solo in Gridview. Potresti voler sostituire il pulsante con un ImageButton che utilizza un'immagine reale.