1. Mitglieder surfen ohne Werbung auf Android-Hilfe.de! ✔ Jetzt kostenlos Mitglied in unserer Community werden.
  1. gurkenprinz, 17.06.2010 #1
    gurkenprinz

    gurkenprinz Threadstarter Neuer Benutzer

    Hallo Leute!

    Weiß jemand wie ich einer TabActivity einen selbst erstellten Header zuweise, welcher dann idealerweise über den Tabs platziert ist. Der Header sollte aus Text und einer Hintergrundgrafik bestehen.

    Habe es bereits auf die Art probiert in der onCreate methode aber leider wird mir dann nur der normale graue AppHead Header angezeigt ohne Text.

    Code:
    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.header);
    Hat jemand eine Idee wie ich das hinkriegen kann ?

    Besten Dank !
    lg gurkenprinz
     
  2. Fr4gg0r, 17.06.2010 #2
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Also ohne groß rumzubasteln kannst du der grauen Titelbar zumindest einen Text und ein Icon (Bild) zuweisen..
     
  3. gurkenprinz, 17.06.2010 #3
    gurkenprinz

    gurkenprinz Threadstarter Neuer Benutzer

    Danke für die Antwort aber leider reicht das nicht. Die graue Titlebar soll kein Icon enthalten sondern komplett durch eine Grafik ersetzt werden.
     
  4. Fr4gg0r, 17.06.2010 #4
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Dann wirst du wohl die Titlebar ausblenden und stattdessen eine eigene View einblenden lassen müssen.
     
  5. gurkenprinz, 17.06.2010 #5
    gurkenprinz

    gurkenprinz Threadstarter Neuer Benutzer

    schon klar ...
    und wie stelle ich das an wenn diese eigene View über den Tabs stehen soll ?

    In der TabActivity sind ja die Tabs standardmäßig ganz oben. Wenn ich eine eigene View einbinde ist diese unter den Tabs platziert.
     
  6. Fr4gg0r, 17.06.2010 #6
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Den Tabhost per xml laden, diesen in ein LinearLayout wrappen und darüber eine View packen? Also zuerst die View in das Layout hinzufügen und dann den Tabhost... oder gleich so im xml definieren.
    :confused:
     
  7. MichaelS, 17.06.2010 #7
    MichaelS

    MichaelS Fortgeschrittenes Mitglied

    wäre das leben nicht zu einfach, wenn es immer so einfach wäre? :p

    bzw: ich mag xml nicht :p ich würds im code machen ;D
     
  8. Fr4gg0r, 17.06.2010 #8
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    dann erzeug ein LinearLayout im Code, dieses nimmt zuerst dein im Code erzeugte CustomView und dand dein im Code erzeugte TabHost auf?
    Hierbei müsstest du wohl von Activity erben.. müsste aber so auch möglich sein Tabs zu erzeugen, schließlich kann ich bei einer normalen Activity auch auf Tabs per xml zugreifen.
     
  9. gurkenprinz, 18.06.2010 #9
    gurkenprinz

    gurkenprinz Threadstarter Neuer Benutzer

    Hätte es jetzt mal so probiert:

    Code:
    public class Portal extends Activity 
    {
        public void onCreate(Bundle savedInstanceState) 
        {
            
            super.onCreate(savedInstanceState);
            this.setFullscreen();
            LinearLayout ll = new LinearLayout(this);
            ImageView header = new ImageView(this);
            header.setBackgroundResource(R.drawable.header);
            ll.addView(header);
            TabHost tabHost = new TabHost(this);
            ll.addView(tabHost);
            
            tabHost.addTab(tabHost.newTabSpec("Aktuell")  //--> in dieser Zeile NullpointerException :(
                    .setIndicator("Aktuell")
                    .setContent(new Intent(this,Portal_News.class)));
            tabHost.addTab(tabHost.newTabSpec("Favoriten")
                    .setIndicator("Favoriten")
                    .setContent(new Intent(this,Portal_Favoriten.class)));
            tabHost.addTab(tabHost.newTabSpec("Kanäle")
                    .setIndicator("Kanäle")
                    .setContent(new Intent(this,Portal_Kanaele.class)));
            
        }
    }
    
    Leider gibts eine NullPointerException wenn ich zum ersten mal einen Tab hinzufügen will. Und dabei ist egal ob ich von Activity oder TabActivity erbe.

    Dann hab ich es noch auf die Methode probiert:

    Code:
    public class Portal extends TabActivity 
    {
        public void onCreate(Bundle savedInstanceState) 
        {
            
            super.onCreate(savedInstanceState);
            this.setFullscreen();
            LinearLayout ll = new LinearLayout(this);
            ImageView header = new ImageView(this);
            header.setBackgroundResource(R.drawable.header);
            ll.addView(header);
            TabHost tabHost = this.getTabHost();
            ll.addView(tabHost);   //--> The specified child already has a Parent
            
            tabHost.addTab(tabHost.newTabSpec("Aktuell")
                    .setIndicator("Aktuell")
                    .setContent(new Intent(this,Portal_News.class)));
            tabHost.addTab(tabHost.newTabSpec("Favoriten")
                    .setIndicator("Favoriten")
                    .setContent(new Intent(this,Portal_Favoriten.class)));
            tabHost.addTab(tabHost.newTabSpec("Kanäle")
                    .setIndicator("Kanäle")
                    .setContent(new Intent(this,Portal_Kanaele.class)));
            
        }
        
    Hier schmeißt er mir in der gekennzeichneten Zeile eine IllegalStateException mit der angegebenen Beschreibung.
     
    Zuletzt bearbeitet: 18.06.2010
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Blogbeitrag - wie Google’s FCM durch ihr eigenes Benachrichtigungssystem ersetzten! Android App Entwicklung 13.09.2018
Datenschutzerklärung bei eigener App (ohne Erhebung von Daten) Android App Entwicklung 30.08.2018
String als Datei (eigene Dateiendung) sharen Android App Entwicklung 09.08.2018
Notification Channel - Eigene Sounds bzw. Sounds einschränken Android App Entwicklung 27.07.2018
ListView mit eigenem Layout zeigt im Querformat Items doppelt an Android App Entwicklung 24.06.2018
Eigene Web DB für App Inventor Android App Entwicklung 10.02.2018
Head-UP Notification wird nicht angezeigt Android App Entwicklung 15.01.2018
Du betrachtest das Thema "Eigener Header in TabActivity" im Forum "Android App Entwicklung",
  1. Android-Hilfe.de verwendet Cookies um Inhalte zu personalisieren und dir den bestmöglichen Service zu gewährleisten. Wenn du auf der Seite weitersurfst stimmst du der Cookie-Nutzung zu.  Ich stimme zu.