7

Sto lavorando sul widget, dove per le impostazioni del widget sto cercando di fornire una finestra di dialogo con il frammento della scheda, il problema è nella finestra di dialogo non sono presenti schede della barra delle azioni, ho provato vari schemi di layout, ma nessuno di loro sembra funzionare.Finestra di dialogo con i frammenti nel widget

  1. Nel manifesto, hanno reso l'attività

    <activity android:theme="@android:style/Theme.Dialog" android:launchMode="singleInstance" 
          android:name="WidgetConfigureActivity"></activity> 
    
  2. Non sono sicuro che il layout da utilizzare esattamente ViewPager, FragmentTabHost nell'interfaccia utente, in fondo non è chiaro quale layout di andare per.

  3. WidgetConfigureActivity estende FragmentActivity per ora, il sotto è il codice per esso (codice proviene dalla FragmentTabHost)

    FragmentTabHost mTabHost; 
    @Override 
    protected void onCreate(Bundle arg0) { 
        super.onCreate(arg0); 
        setContentView(R.layout.widget_configure_activity); 
        mTabHost = (FragmentTabHost)findViewById(android.R.id.tabhost); 
        mTabHost.setup(this, getSupportFragmentManager(), R.id.tabhost); 
        //this above setup line gives error => (The method setup(Context, FragmentManager, int) in the type FragmentTabHost is not applicable for the arguments (WidgetConfigureActivity, FragmentManager, int)) 
        mTabHost.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"), 
          MyFragment.class, null); 
    } 
    

ViewPager non è così importante, ma come avere dialogo con schede frammenti è la domanda?

4. Come rendere l'interfaccia utente/layout NON cambia anche se si applica Theme.Dialog alla mia attività, tutto il carattere appare bianco su sfondo bianco? (Ho visto il testo inclinando lo schermo)

risposta

1

Una possibile risposta al quarto punto è l'aggiunta di questo al vostro stile (che si basa sullo standard Theme.Dialog):

<item name="android:textColor">?android:attr/textColorPrimaryInverseDisableOnly</item> 

Allo stesso modo, provare this esempio di FragmentTabHost, anche se le schede sono in fondo.

2

Non sono sicuro che il layout da utilizzare esattamente ViewPager, FragmentTabHost nell'interfaccia utente, in fondo non è chiaro quale layout di andare per.

Dipende dall'esigenza di utilizzare le schede di scorrimento (in modo che l'utente possa scorrere non solo fare clic sulle schede) o meno. Se hai bisogno di schede scorrevoli (e ti consiglio di implementarlo perché è una buona opzione per l'utente) potresti usare uno ViewPager lungo uno TabHost (invece di usare uno FragmentTabHost). Ci sono un sacco di esempi là fuori su come fare questo, ne ho fatto uno io stesso che you can find here.

Come fare UI/layout non cambia anche se si applicano Theme.Dialog al mio attività, tutto il carattere appaia bianca in fondo bianco? (Ho visto testo inclinando lo schermo)

Avrai bisogno di fare il vostro proprio tema, che si estende dal Theme.Dialog e "fissare" le proprietà desiderate. Alejandro Colorado ha indicato la soluzione.

Problemi correlati