2015-06-26 5 views
10

Ho una vista composta che consiste di due pulsanti e una vista di testo. Voglio modificare le proprietà di queste viste secondarie nell'editor di layout di Android Studio, ma non posso. Mostra solo le proprietà di base ma non le proprietà della mia vista personalizzata.L'editor di layout di Android Studio mostra proprietà di visualizzazione personalizzate?

L'editor di layout di Android Studio mostra solo un numero limitato di proprietà impostato per impostazione predefinita? È possibile modificare le proprietà della mia vista personalizzata da lì, senza modificare manualmente i file XML?

Custom View

Properties panel not showing custom view properties

Grazie in anticipo !!

+1

Qualche motivo per il voto negativo? – Newbie23

+0

Forse questo aiuta: http://stackoverflow.com/questions/2029719/how-can-i-create-my-custom-properties-on-xml-for-android –

+0

@SteffenTimm: Non spiega, come mostrare le proprietà personalizzate nel pannello Editor di layout – Newbie23

risposta

2

Come descritto in http://developer.android.com/training/custom-views/create-view.html#customattr, è necessario aggiungere una nuova risorsa (res/values ​​/ attrs.xml).

<resources> 
    <declare-styleable name="PieChart"> 
     <attr name="showText" format="boolean" /> 
     <attr name="labelPosition" format="enum"> 
      <enum name="left" value="0"/> 
      <enum name="right" value="1"/> 
     </attr> 
    </declare-styleable> 
</resources> 

All'interno della vostra vista che avete di fare riferimento a questo nuovo ressource

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:custom="http://schemas.android.com/apk/res/com.example.customviews"> 
    <com.example.customviews.charting.PieChart 
     custom:showText="true" 
     custom:labelPosition="left" /> 
</LinearLayout> 

Ora si dovrebbe vedere le proprietà nell'editor.

+0

Grazie per la risposta.Ho provato la tua soluzione ma sfortunatamente le proprietà personalizzate non sono mostrate nel pannello di progettazione Android Studio. Funziona per te? – Newbie23

+1

Al momento non ho sviluppato per Android ma penso che abbia funzionato in questo modo in passato –

+2

Android Studio non può mostrare gli attributi personalizzati nel pannello di progettazione –

0

cambiamento

xmlns:sidespinner="http://schemas.android.com/tools" 

a

xmlns:sidespinner="http://schemas.android.com/apk/res-auto" 

Android in studio mostrerà gli attributi personalizzati di visualizzazione personalizzata.

essere sicuri che hai definito attributi personalizzati in res/values/attrs.xml

0

Se si personalizza un View con attributi personalizzati, è necessario utilizzare il proprio spazio dei nomi per impostare i tuoi attributi personalizzati.

primo, namespace impostare nella vista principale del layout in questo modo:

xmlns:sidespinner="http://schemas.android.com/apk/res-auto" 

Dal attributo personalizzato nomi sono dichiarati nella vostra res/values/attrs.xml del vostro progetto in corso o progetto di libreria, namespace sidespinner dirà aapt per ottenere attributi dal progetto corrente o dal progetto di libreria.

In secondo luogo, impostare attributi personalizzati nella vostra abitudine View in questo modo:

<your-custom-view 
    sidespinner:boolean-attr="true" 
    sidespinner:integer-attr="5" 
    sidespinner:enum-attr="none"//your enum values 
    sidespinner:dimen-attr="10dp" /> 

Spero che siate chiari su questo. Se vuoi sapere come personalizzare gli attributi, fai riferimento alla risposta di @ SteffenTimm.