Compreendendo o <layer-list> do Android

Não entendo como as lists de camadas funcionam. Eu leio a documentation oficial com alguns exemplos, mas isso não funciona paira mim, como esperado. Eu quero quatro quadrados que devem ser acolchoados com 1dp, mas nada é como esperado. Aqui está uma captura de canvas escalada em 500%:

Meus suares
(As colors erradas não importam)
Como você pode view o tamanho é completamente errado e os remendos estão faltando. Eu tentei definir valores reais como lairgura / altura e direita / esquerda / superior / buttom paira ter certeza de que o Android obtenha o ponto do que eu quero.

  • Sintomas vitais do Android - Stuck Wake Locks e service de primeiro plano
  • Hook Android Sytem API relacionada à saída de text
  • Não foi possível instalair o driview USB do Android no Windows 7
  • Android: consumo de memory do jogo LibGDX 2D
  • Android Baixair Intent
  • Android Altura Mínima do Botão: 48dp = 9mm?
  • Aqui está o meu xml:

    <?xml viewsion="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:top="0dp" android:left="0dp" android:bottom="0dp" android:right="0dp"> <shape android:shape="rectangle"> <size android:width="9dp" android:height="9dp"/> <solid android:color="#f000"/> </shape> </item> <item android:top="1dp" android:left="1dp" android:bottom="5dp" android:right="5dp"> <shape android:shape="rectangle"> <size android:width="3dp" android:height="3dp"/> <solid android:color="#f00"/> </shape> </item> <item android:top="1dp" android:left="5dp" android:bottom="5dp" android:right="1dp"> <shape android:shape="rectangle"> <size android:width="3dp" android:height="3dp"/> <solid android:color="#0f0"/> </shape> </item> <item android:top="5dp" android:left="1dp" android:bottom="1dp" android:right="5dp"> <shape android:shape="rectangle"> <size android:width="3dp" android:height="3dp"/> <solid android:color="#0f0"/> </shape> </item> <item android:top="5dp" android:left="5dp" android:bottom="1dp" android:right="1dp"> <shape android:shape="rectangle"> <size android:width="3dp" android:height="3dp"/> <solid android:color="#f00"/> </shape> </item> </layer-list> 

  • como implementair simples como button na list de cada item
  • OpenGL (ES) - Qual a diferença entre frustum e ortho?
  • Android Spinner databind usando a list de matrizes
  • O que é "menu de context" & method registerForContextMenu ()
  • Alterando a position da checkbox de dialog na canvas Android
  • Que formats de audio são suportados pelo browser Android?
  • 2 Solutions collect form web for “Compreendendo o <layer-list> do Android”

    Os valores de esquerda, superior, direita e inferior são medidos a pairtir da respectiva borda.

    Então, esquerda = 0dp, top = 0dp, bottom = 0dp & right = 50dp lhe dairá um retângulo que seja (match_pairent – 50dp) de lairgura e não 50dp de lairgura. Portanto, valores maiores paira "direito" realmente lhe dairão um retângulo menor.

    O mesmo se aplicairia ao outro valor, mas isso se comportairia conforme o esperado na maioria dos casos, é apenas "correto" que pode causair confusão.

    Ou você usa o px vez do dp ou multiplique todas as dimensões por 10 .

    Tenho viewgonha de admitir que não sei exatamente por que isso está acontecendo, mas acho que isso tem algo a view com densidades onde 1dp é um valor px flutuante e o ImageView é ampliado.

    Resposta de especialists é bem-vinda 🙂

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.