2013-07-21 15 views
11

Nella mia applicazione ho intenzione di utilizzare molti "bordi" di layout che sono un semplice rettangolo arrotondato. Per verificare come sarebbe simile ho creato un file .png con sfondo trasparente:android - round rect border per layout

enter image description here

ho appena impostato l'immagine come il mio layout sfondo. Il problema è che ho bisogno di proporzioni diverse per altri layout e che sarebbe una perdita di tempo creare queste immagini in Photoshop per tutti i miei layout.

Le domande: come posso fare lo stesso con l'API di Android (forse una forma XML) ma consentire il rettangolo di essere allungato a qualsiasi dimensione e rimanere ancora nitido?

+0

Google per nove pezzi disegnabili – pskink

risposta

24

è possibile utilizzare un disegnabile

Sono bkg.xml nella cartella drawable

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="rectangle"> 
    <solid android:color="#FFFFFF"/> 
    <stroke 
     android:width="3dp" 
     android:color="#0FECFF"/> 
    <padding 
     android:bottom="5dp" 
     android:left="5dp" 
     android:right="5dp" 
     android:top="5dp"/> 
    <corners 
     android:bottomLeftRadius="7dp" 
     android:bottomRightRadius="7dp" 
     android:topLeftRadius="7dp" 
     android:topRightRadius="7dp"/> 
</shape> 

Quindi impostare sfondo

android:background="@drawable/bkg" //to required view 

Snasp colpo di editor grafico, quando insieme sfondo disegnabile per textview.

enter image description here

+1

grazie. Ho solo dovuto cambiare il "solido" in @android: color/transparent per ottenere quello che mi serve – Droidman

+0

@ Maver1ck è contento che sia stato d'aiuto. puoi usare il colore che preferisci. – Raghunandan

+0

grazie per drawable. – nyconing

3

A Shape drawable dovrebbe farlo. Per esempio:

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <corners android:radius="10dp" /> 
    <solid android:color="@android:color/transparent" /> 
    <stroke android:width="2dp" android:color="#0000ff" /> 
</shape>