2015-05-06 17 views
13

C'è un modo semplice per passare dalla visualizzazione visualizzata a ViewSwitcher nell'anteprima di Android Studio, oppure è l'unico modo per sostituire l'XML per le viste secondarie uno alla volta?Anteprima ViewSwitcher in AndroidStudio

+0

C'è qualche motivo particolare per cui si utilizza ViewSwitcher? È molto limitato Usa ViewPager invece – auval

+1

@auval, sto solo usando ViewSwitcher per mostrare un indicatore di caricamento mentre il resto dell'attività sta caricando, quindi non ho bisogno di nulla di molto complicato. Sembra che ViewPager sia eccessivo. – PaulrBear

+0

ViewSwitcher è un overkill per mostrare un indicatore di caricamento. Utilizzare una vista semplice per quello – auval

risposta

5

Sfortunatamente, non ci sono attributi XML o alcuna opzione su Android Studio che possa aiutare a definire la vista visualizzata.

Una domanda simile per ViewFlipper è stata richiesta here (entrambe sono sottoclassi dirette di ViewAnimator).

Tuttavia, se e solo se le vostre opinioni sono grandi come lo schermo, è possibile utilizzare il tag include, ad esempio:

<ViewSwitcher 
    android:id="@+id/myViewSwitcher" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <include 
     layout="@layout/first_view"> 
    </include> 

    <include 
     layout="@layout/second_view"> 
    </include> 

</ViewSwitcher> 

allora si può vedere i layout in un file XML separato.

+0

Sì, questa è una buona pratica – MrLeblond

0

ViewPager può risolvere facilmente i tuoi problemi.

ViewPager (può contenere più viste). ViewPager è un tipo di contenitore di array per gli oggetti View. È possibile avere la rotazione di ViewPager (come si fa la rotazione dell'array) o altre tecniche per scambiare le viste interne. E, puoi creare ogni tua vista interna basata su Factory DP, in modo che ci sia meno elaborazione (condivide le risorse comuni).

Qui hanno menzionato le viste a scorrimento (Nota: è sufficiente utilizzare le proprie tecniche di scorrimento della vista se non si desidera utilizzare la rotazione predefinita di ViewPager).

Creazione di colpi: https://developer.android.com/training/implementing-navigation/lateral.html

ViewPager per diapositive schermo:https://developer.android.com/training/animation/screen-slide.html

1

Prima di tutto, se state pensando di utilizzare ViewSwitcher, solo per mostrare ProgressDialog allora non si sta facendo in un modo in cui dovrebbe essere. ViewSwitcher generalmente utilizzato per modificare il layout di Activity. Nel tuo caso ProgressDialog non è un del tuo Activity, ma è solo un piccolo aiuto che indica che alcuni processi stanno facendo. Quindi in breve ViewSwitcher dovrebbe essere utilizzato da qualche parte dove si desidera modificare lo schermo completo di Activity.

Nel tuo caso puoi dividere il layout in file di layout più piccoli e raggrupparli usando merge o include.

Creare file separati per tutte le diverse schermate che definiranno l'interfaccia utente del Activity e raggrupparli utilizzando include.

Per un esempio possiamo creare piccoli App per Introduzione cosa usando ViewSwitcher -

  1. First Screen - my_product.xml - questo layout definirà qualcosa sul prodotto.

  2. Seconda schermata - about_us.xml - questo layout descriverà la vostra azienda.

  3. Terzo schermo - thank_you.xml - per dire grazie ai vostri utenti.

Raggrupparli in qualsiasi contenitore View.

<ViewSwitcher 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <include 
     layout="@layout/my_product"/> 

    <include 
     layout="@layout/about_us"/> 

    <include 
     layout="@layout/thank_you"/> 

</ViewSwitcher> 
+0

A ViewSwitcher può avere solo due viste figlio. https://developer.android.com/reference/android/widget/ViewSwitcher.html – Incinerator

+0

@Incinerator Io non la penso così, hai qualche riferimento per questo? – Rahul

Problemi correlati