Parte del problema è che i singoli elementi in un elenco di livelli vengono ridimensionati in base alla dimensione complessiva del drawable. Come descritto in the docs, è possibile aggirare il problema avvolgendo i quadratini in un disegno bitmap
. Qualcosa del genere potrebbe funzionare. In primo luogo, definire la forma di base come drawable separata:
drawable/square.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="1px" android:color="#fff" />
<solid android:color="#00FF0000" />
<corners android:radius="3dp" />
<size android:width="10dp" android:height="10dp"/>
</shape>
(EDIT: Sarebbe bello se si potesse fare quanto sopra, ma , purtroppo, come @Someone da qualche parte ha sottolineato in un commento, non è possibile fare riferimento drawable forma all'interno di un tag <bitmap>
. dovrete creare la piazza come un vero e proprio grafica bitmap per il resto di questo per lavorare.)
Poi si può definire un layer-lista che non scalerà le singole piazze:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- first row -->
<item android:left="20dp" android:top="20dp">
<bitmap android:src="@drawable/square" android:gravity="top|left" />
</item>
<item android:left="35dp" android:top="20dp">
<bitmap android:src="@drawable/square" android:gravity="top|left" />
</item>
<item android:left="50dp" android:top="20dp">
<bitmap android:src="@drawable/square" android:gravity="top|left" />
</item>
<!-- second row -->
<item android:left="20dp" android:top="35dp">
<bitmap android:src="@drawable/square" android:gravity="top|left" />
</item>
<item android:left="35dp" android:top="35dp">
<bitmap android:src="@drawable/square" android:gravity="top|left" />
</item>
<item android:left="50dp" android:top="35dp">
<bitmap android:src="@drawable/square" android:gravity="top|left" />
</item>
<!-- third row -->
<item android:left="20dp" android:top="50dp">
<bitmap android:src="@drawable/square" android:gravity="top|left" />
</item>
<item android:left="35dp" android:top="50dp">
<bitmap android:src="@drawable/square" android:gravity="top|left" />
</item>
<item android:left="50dp" android:top="50dp">
<bitmap android:src="@drawable/square" android:gravity="top|left" />
</item>
</layer-list>
non ho ancora testato questo, quindi potrebbe essere un po 'fuori, ma si dovrebbe essere in grado di modificarlo per ottenere quello che vuoi L'importante è liberarsi del ridimensionamento.
fonte
2012-05-21 17:17:25
e la seconda fila superiore: 50 sinistra: 10 inferiore: 50 destra: 90 terza fila superiore: 90 sinistra: 10 inferiore: 10 destra: 90 – Lunf