2016-03-24 16 views
7

Ho un FrameLayout all'interno della mia vista root (lineare: verticale) che sto usando per contenere diversi frammenti a seconda dell'input dell'utente. FrameLayout è più piccolo dello sfondo, quindi sembra "fluttuante".FrameLayout con angoli arrotondati

Come arrotondare gli angoli di FrameLayout?

Le alette che si trovano all'interno del FrameLayout non sono immagini, quindi non posso ritagliarle.

+0

Non puoi semplicemente gettato in un drawable realizzato a mano come sfondo del tuo FrameLayout? – m02ph3u5

+0

Controlla questo http://www.gadgetsaint.com/tips/rounded-corners-views-layouts-android/#.WPz2QVN97BI – ASP

risposta

11

Creare un file xml, ad es. your_rounded_shape.xml, nella cartella drawable e aggiungere il seguente codice:

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#CCCCCC"/>  

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

    <padding android:left="2dp" 
     android:top="2dp" 
     android:right="2dp" 
     android:bottom="2dp"/> 

    <corners android:bottomRightRadius="8dp" 
     android:bottomLeftRadius="8dp" 
     android:topLeftRadius="8dp" 
     android:topRightRadius="8dp"/> 
</shape> 

Quindi utilizzare your_rounded_shape.xml come sfondo nel vostro FrameLayout. Qualcosa del genere:

<FrameLayout 
    android:width="match_parent" 
    android:height="wrap_content" 
    android:background="your_rounded_shape"/> 
+0

Questo è perfetto! Grazie, è esattamente quello che stavo cercando. –