7

Ich arbeite an Widget, wo für Widget-Einstellungen ich einen Dialog für mit Tab-Fragment zur Verfügung stellen, das Problem ist Dialog haben keine Aktionsleiste Tabs, habe ich verschiedene Layout-Muster versucht, aber keiner von ihnen scheint zu funktionieren.Tabbed-Dialog mit Fragmenten im Widget

  1. Im Manifest hat die Aktivität

    <activity android:theme="@android:style/Theme.Dialog" android:launchMode="singleInstance" 
          android:name="WidgetConfigureActivity"></activity> 
    
  2. Ich bin nicht sicher, gemacht für das Layout verwendet genau ViewPager, FragmentTabHost in der Benutzeroberfläche, im Grunde nicht klar, welche das Layout zu gehen.

  3. WidgetConfigureActivity erstreckt FragmentActivity Vorerst ist die unterhalb der Code für das (Code aus FragmentTabHost genommen wird)

    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 ist nicht so wichtig, aber wie mit Fragmenten Registerdialog haben, ist die Frage?

4. Wie UI/Layout nicht ändern, auch wenn Theme.Dialog auf meine Aktivität anwenden, alle Schriftarten erscheinen weiß in weißem Hintergrund? (Ich habe Text gesehen durch den Bildschirm kippen)

Antwort

1

Eine mögliche Antwort auf Ihren vierten Punkt ist, diese zu Ihrem Stil (die auf dem Standard Theme.Dialog basieren):

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

Ebenso versuchen this Beispiel FragmentTabHost, obwohl die Tabs unten sind.

2

Ich bin nicht sicher, was das Layout genau verwenden ViewPager, FragmentTabHost in der Benutzeroberfläche, im Grunde nicht klar, welches Layout für zu gehen.

Es hängt davon ab, dass Sie Swipe-Registerkarten benötigen (damit der Benutzer nicht nur durch die Registerkarten wischen kann) oder nicht. Wenn Sie swipeable Registerkarten benötigen (und ich empfehle, dass Sie es implementieren, da es eine nette Option für den Benutzer ist), könnten Sie ViewPager entlang einer TabHost verwenden (anstatt eine FragmentTabHost zu verwenden). Es gibt eine Menge Beispiele dafür, wie man das macht, ich habe selbst einen gemacht, you can find here.

Wie UI/Layout nicht einmal ändern machen, wenn Theme.Dialog meine Tätigkeit gilt, die ganze Schrift erscheint in weißen Hintergrund weiß? (Ich habe Text gesehen durch den Bildschirm kippen)

Sie benötigen, um Ihr eigenes Thema zu machen, die sich von Theme.Dialog und „reparieren“ Sie die gewünschten Eigenschaften. Alejandro Colorado hat auf die Lösung hingewiesen.

Verwandte Themen