Parte del problema es que los elementos individuales en una lista de capas se ajustan al tamaño total del dibujante. Como se describe en the docs, puede evitar esto al envolver los cuadrados pequeños en un dibujo bitmap
. Algo como esto podría funcionar. En primer lugar, definir la forma básica como dibujable separada:
estirable/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: Sería bueno si pudiera hacer lo anterior, pero Desafortunadamente, como @Someone Somewhere señaló en un comentario, no se puede hacer referencia a los formularios dibujables dentro de una etiqueta <bitmap>
. Tendrás que crear el cuadrado como un gráfico de mapa de bits real para que el resto funcione).
A continuación, puede definir una capa-lista que no escalará los cuadrados individuales:
<?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>
no he probado esto, por lo que puede ser un poco apagado, pero usted debería ser capaz de modificarlo para obtener lo que quieres Lo importante es deshacerse de la escala.
y la segunda fila parte superior: 50 izquierda: 10 parte inferior: 50 derecha: 90 Tercera fila parte superior: 90 izquierda: 10 parte inferior: 10 derecha: 90 – Lunf