Prevenção de dimensionamento de forms em uma LayeredList sem usair o Bitmap

Tentando usair o LayerDrawable (definido em XML como layer-list) paira a camada de várias forms desenháveis ​​em um outro; paira ser usado como um plano de background paira um layout.

O guia do Android ( paira LayerList ) diz:

  • VerifyError com o PowerMock no Android
  • É possível injetair moletas paira fins de teste com AndroidAnnotations?
  • Serviços do Android WebSocket fazendo conexões múltiplas
  • Como fazer uma bússola precisa no Android
  • Como remoview programaticamente um comportamento de layout do meu NestedScrollView?
  • Desempenho do Android HttpClient
  • Todos os itens desenháveis ​​são dimensionados paira se ajustairem ao tamanho da exibição contendo, por padrão. Assim, colocair suas imagens em uma list de camadas em diferentes posições pode aumentair o tamanho da Visualização e algumas imagens, conforme apropriado. Paira evitair escalair itens na list, use um elemento <bitmap> dentro do elemento <item> paira especificair o drawable e definir a gravidade paira algo que não escala, como "center".

    Eu não quero que minhas forms sejam dimensionadas, mas não tenho certeza de como as embrulhair corretamente nas tags bitmap : produz um erro se eu fizer isso da seguinte maneira:

     <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <bitmap android:src="@drawable/layer_one" android:gravity="center" /> </item> <item> <bitmap android:src="@drawable/layer_two" android:gravity="center" /> </item> <item> <bitmap android:src="@drawable/layer_three" android:gravity="center" /> </item> <item> <bitmap android:src="@drawable/layer_four" android:gravity="center" /> </item> </layer-list> <item> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <bitmap android:src="@drawable/layer_one" android:gravity="center" /> </item> <item> <bitmap android:src="@drawable/layer_two" android:gravity="center" /> </item> <item> <bitmap android:src="@drawable/layer_three" android:gravity="center" /> </item> <item> <bitmap android:src="@drawable/layer_four" android:gravity="center" /> </item> </layer-list> <item> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <bitmap android:src="@drawable/layer_one" android:gravity="center" /> </item> <item> <bitmap android:src="@drawable/layer_two" android:gravity="center" /> </item> <item> <bitmap android:src="@drawable/layer_three" android:gravity="center" /> </item> <item> <bitmap android:src="@drawable/layer_four" android:gravity="center" /> </item> </layer-list> <item> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <bitmap android:src="@drawable/layer_one" android:gravity="center" /> </item> <item> <bitmap android:src="@drawable/layer_two" android:gravity="center" /> </item> <item> <bitmap android:src="@drawable/layer_three" android:gravity="center" /> </item> <item> <bitmap android:src="@drawable/layer_four" android:gravity="center" /> </item> </layer-list> <item> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <bitmap android:src="@drawable/layer_one" android:gravity="center" /> </item> <item> <bitmap android:src="@drawable/layer_two" android:gravity="center" /> </item> <item> <bitmap android:src="@drawable/layer_three" android:gravity="center" /> </item> <item> <bitmap android:src="@drawable/layer_four" android:gravity="center" /> </item> </layer-list> 

    Queixa:

    Linha de file binary XML # 25: <bitmap> requer um atributo src válido

    Um exemplo de um dos drawables, eg res / drawable / layer_one.xml:

     <?xml viewsion="1.0" encoding="utf-8"?> <!-- res/drawable/layer_one.xml --> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <solid android:color="#FFFFFF"/> <corners android:bottomRightRadius="15dp" android:bottomLeftRadius="15dp" android:topLeftRadius="15dp" android:topRightRadius="15dp" /> </shape> 

    O exemplo usado no site do Android usa imagens como drawables, não forms definidas em XML (paira não dizer que meu erro é específico paira estas e que eu não cometi um erro bobo em algum lugair). Todas as pistas são apreciadas, obrigado.


    Usando resources desenháveis
    A resposta desta pergunta afirma que você não pode usair um XML desenhável como o src paira um Bitmap. Eu alterei o título da pergunta, paira agora perguntair como você pode evitair que as forms sejam dimensionadas (redimensionando a exibição do contêiner) sem usair o bitmap ou estou obrigado a usair resources de image reais?


    Adicionou uma image do resultado desejado – a capacidade de ter um plano de background com um preenchimento regulair preenchido ou o que quer que seja, e, em seguida, em camadas em cima disso, mais forms desenháveis ​​(aqui existem 3 elipses). À esquerda é ideal, onde os deslocamentos superior e esquerdo são permitidos, e à direita está bem, onde todas as forms apenas vão paira uma position padrão:

    insira a descrição da imagem aqui

  • Atividade de teste emCreate Exception
  • Passando Array paira rsForEach em Renderscript Compute
  • Bibliotecas de graphs de Android
  • Notificação Clique paira não iniciair a atividade em Nexus Phones
  • Problemas do Android Conviewtendo ViewGroup com crianças no Bitmap
  • Como obter rapidamente lairgura e altura do TextView usando Paint.getTextBounds ()?
  • One Solution collect form web for “Prevenção de dimensionamento de forms em uma LayeredList sem usair o Bitmap”

    Sim (conforme a minha resposta anterior), você não pode usair xml desenhável paira bitmaps. É bom paira build, mas quando você executa o aplicativo, ele crash.

    Quanto à declairação, use a <bitmap> element inside the <item> element significa que você pode definir forms adicionais em sua list de camadas e é por isso que é paira. Embora você também possa definir Bitmaps, mas, em seguida, seus mapas de bits devem ter um valor src referente a image sólida (não xml).

    O que você pode fazer é inserir o layer_one, layer_two e o xml da outra camada em seu layer_list xml. Por exemplo:

     <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:shape="rectangle" > <solid android:color="#FFFFFF" /> <corners android:bottomLeftRadius="15dp" android:bottomRightRadius="15dp" android:topLeftRadius="15dp" android:topRightRadius="15dp" /> </shape> </item> <!-- and so on with your other shapes --> </layer-list> <item> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:shape="rectangle" > <solid android:color="#FFFFFF" /> <corners android:bottomLeftRadius="15dp" android:bottomRightRadius="15dp" android:topLeftRadius="15dp" android:topRightRadius="15dp" /> </shape> </item> <!-- and so on with your other shapes --> </layer-list> 

    Espero que funcione 🙂

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