2012-10-11 11 views
12

Android mi sta uccidendo.Come correggere gli angoli arrotondati impostati in Android per il layout Relativo o altro?

io voglio impostare gli angoli arrotondati per il layout relativo, è semplice

XML Drawable può apparire come

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle" > 
<padding android:left="1dp" android:top="1dp" 
      android:right="2dp" android:bottom="2dp" /> 
    <solid android:color="#FFFFFF" /> 

    <corners android:radius="15dp" /> 

    <stroke 
     android:width="2dp" 
     android:color="#FFF" /> 

</shape> 

Ma. Se inserisco nel layout relativo altro layout o altro widget come ImageView non ho i bambini clipati - vedi l'immagine enter image description here

Come si vede non ho l'elemento figlio ritagliato.

Come va?

Forse è aiuta voglio o Questo angoli arrotondati funziona come in iOS

givenView.layer.cornerRadius =roundAngle; 
    [givenView.layer setBorderColor:[[borderColor colorWithAlphaComponent:alphaBorder] CGColor]]; 
    [givenView.layer setBorderWidth:borderWidth]; 
    givenView.clipsToBounds = YES; 

Anche io voglio mostrare tutti quelli che pensano che imbottitura è soluzione:

enter image description here

Qui impostare imbottitura.

Per correttamente sottovalutare problema un'occhiata a hierarcy immagine

enter image description here

In qui:

RelativeLayout - xml hanno desribed come sfondo,

LinearLayout - contenitore per oggetti personalizzati con layout complessi che contengono immagini come sfondo e altri widget

profileStatistic - widget personalizzato complesso con molti sottooggetti in layout fuori.

quadro completo del layout è:

enter image description here

e il layout per i controlli interni (profileStatistic):

enter image description here

P.S. Non ho bisogno di 9-path. Domanda non su 9-path!

risposta

1

se viene visualizzato l'angolo arrotondato dell'immagine. ma il bambino del layout non ha retto. è per questo che quell'angolo sta uscendo dallo sfondo del genitore. per risolvere questo problema, dai un po 'di padding al layout genitore in modo che non possa uscire dallo sfondo del layout genitore. Oppure puoi applicare lo stesso tipo di forma d'angolo arrotondata anche alla vista bambino.

+0

Non è corretto. Bacuse qui la situazione: se gli angoli arrotondati sono impostati su 15dp e il padding (correggere) è impostato su 5dp, ottengo spazio tra il bordo del frame e il widget del contenuto interno. –

+0

che il padding 5dp non è sufficiente per il raggio di 15dp.ecco perché quei cornetti stanno uscendo. puoi aumentare quel riempimento e controllare. – Raj