Часть проблемы заключается в том, что отдельные элементы в списке слоев масштабируются до общего размера извлекаемого. Как описано в the docs, вы можете обойти это, обернув небольшие квадраты в bitmap
. Что-то вроде этого может сработать. Во-первых, определить основную форму в виде отдельного вытяжке:
вытяжке/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: Было бы хорошо, если бы вы могли бы сделать выше, но , к сожалению, как отмечалось в комментарии @Someone Somewhere в комментарии, вы не можете ссылаться на фигурные чертежи из тега <bitmap>
. Вам нужно будет создать квадрат как фактический растровый рисунок, чтобы остальная часть этого работала.)
Затем вы можете определить слой-список, который не будет масштабировать отдельные квадраты:
<?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>
Я не проверял это, так что это может быть немного выключен, но вы должны быть в состоянии настроить его чтобы получить то, что вы хотите. Главное - избавиться от масштабирования.
и второй ряд сверху: 50 слева: 10 снизу: 50 направо: 90 Третий ряд сверху: 90 слева: 10 снизу: 10 справа: 90 – Lunf