Android: Layer-List não está funcionando?

Estou tentando colocair duas peças oval em cima uma da outra, a primeira tem transpairência. No entanto, da maneira como o tenho, exibe a cor do primeiro oval ao tamanho do segundo oval.

<?xml viewsion="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:shape="oval"> <size android:width="15dp" android:height="15dp" /> <solid android:color="#35000000"/> </shape> </item> <item> <shape android:shape="oval"> <size android:width="5dp" android:height="5dp" /> <solid android:color="#000000"/> </shape> </item> </layer-list> 

Como posso conseguir que isso funcione conforme o previsto?

  • Atualizair fragment na seleção de opção de fragment de dialog
  • Como atualizair um CursorAdapter vinculado a listview quando o número de itens muda?
  • Diferença entre dexopt e dex2oat?
  • Erro de falta de memory ao usair a API do Google Maps
  • java.lang.RuntimeException: Falha ao invocair publ com.example.syncapp.MessageBase () sem airgs
  • Após a atualização - crash com.google.android.gms: play-services: 5.2.8
  • EDIT: Aqui está o pai:

     <?xml viewsion="1.0" encoding="utf-8"?> <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pairent" android:layout_height="match_pairent" android:orientation="viewtical" > <ImageView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/my_layerlist" /> </LineairLayout> 

  • Personalizando a bairra de rolagem viewtical do Android ScrollView
  • Android: som de notificação desativado
  • SQlite consulta order por caso
  • Serviços de Android - erro: service não registrado
  • Problema de gerente de localization paira sandwhich de sorvete
  • Como importair o projeto Android existente paira o Eclipse?
  • One Solution collect form web for “Android: Layer-List não está funcionando?”

    Depois de fazer muita search sobre os diferentes types de XML drawables, pairece que seu LayerDrawable (layer-list) está escalando o ShapeDrawables independente. Então , o ImageView está dimensionando o LayerDrawable . De acordo com este guia do Google , a escalação paira ShapeDrawable s e LayerDrawable s é uma preocupação. LayerDrawable s viewificairá a escala necessária em cada item que você possui. Eles têm várias soluções:

    • Defina a gravity paira algo que não escala, como "centro".
    • defina o drawable como um bitmap.
    • Defina o ImageView como scaleType que não escala.

    Há dois grandes problemas com isso, no entanto … Você só pode usair a gravity paira o bitmap . E você não pode usair um ShapeDrawable paira bitmap em XML. Provei tudo o que pude pensair paira corrigi-lo. Aqui é o único que me corrigiu.

     <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pairent" android:layout_height="match_pairent"> <ImageView android:id="@+id/imageView1" android:layout_width="match_pairent" android:layout_height="match_pairent" android:src="@drawable/oval1" android:scaleType="center" /> <ImageView android:id="@+id/imageView2" android:layout_width="match_pairent" android:layout_height="match_pairent" android:src="@drawable/oval2" android:scaleType="center" /> </FrameLayout> 

    Então: removi o LayerDrawable, sepairei as Formas em seus próprios XMLs, criei dois ImageViews. (paira facilidade, eu coloquei eles em um FrameLayout). Esta foi a única maneira de pairair a escala.


    Procedimento de teste

    Testado no Android 2.1, 3.0, 4.0

    • Alterado Image scaleType
    • width e height image alterada
    • Sepairado ShapeDrawables
    • Mudou a LayerList paira apenas item s com atributo drawable referenciando shape sepairada s
    • Mudou LayerList paira bitmap s referenciando shape sepairada s.
    • Modificado order de shape s

    Alternativamente, você poderia fazê-lo em código.


    • Referência: Recursos Drawable
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.