tools - Visualizzazioni Android personalizzate in Eclipse Visual Editor




install android on eclipse oxygen (2)

Nelle mie applicazioni, mi baso spesso su visualizzazioni di build personalizzate, come nell'esempio seguente.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" 
android:background="@color/light_grey"
android:layout_height="match_parent" 
android:layout_width="fill_parent" >

<TextView 
 style="@style/CardTitle" 
 android:id="@+id/card_title"
 android:layout_height="wrap_content" 
 android:layout_width="fill_parent"      
 />  

<com.whiterabbit.cards.ui.AspectRatioImageView
    android:id="@+id/card_picture"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:adjustViewBounds="true"
    android:layout_marginLeft="30dip"
    android:layout_marginRight="30dip"       
    android:src="@drawable/boss"
    />



<ListView 
    android:id="@+id/card_properties" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"

/>

Il problema è che non so come verrà visualizzato correttamente finché non lo eseguirò su un dispositivo reale o sull'emulatore. Inoltre, se ho trovato qualcosa di sbagliato, dovrei apportare modifiche e distribuire nuovamente l'app per vedere se le modifiche funzionassero come previsto.

Questo può essere un processo lungo e noioso, soprattutto se l'applicazione richiede alcune interazioni per raggiungere l'attività che si desidera controllare.

L'uso dell'editor visivo non funziona in quanto non può caricare la vista personalizzata.

C'è un altro modo per verificare come vengono visualizzate le viste senza correre attraverso l'intera applicazione?


È possibile creare un'attività di scheletro che carica solo la vista che si desidera vedere e riempirla con dati sufficienti per visualizzarla.


Puoi farlo nella tua vista personalizzata:

if(!isInEditMode()){
   // Your custom code that is not letting the Visual Editor draw properly
   // i.e. thread spawning or other things in the constructor
}

http://developer.android.com/reference/android/view/View.html#isInEditMode ()

Questo ti permette di nascondere il codice dal plugin XML ADT Viewer e spero di mostrarti un layout!

View.isInEditMode ()

Indica se questa vista è attualmente in modalità di modifica. Una vista è solitamente in modalità di modifica quando è visualizzata all'interno di uno strumento per sviluppatori. Ad esempio, se questa vista viene disegnata da un generatore di interfaccia utente visiva, questo metodo dovrebbe restituire true. Le sottoclassi dovrebbero verificare il valore restituito da questo metodo per fornire comportamenti diversi se il loro comportamento normale potrebbe interferire con l'ambiente host. Ad esempio: la classe genera un thread nel suo costruttore, il codice del disegno si basa su funzionalità specifiche del dispositivo, ecc. Questo metodo viene solitamente controllato nel codice di disegno dei widget personalizzati.





visual-editor