Die TabHost View ist eine sehr wichtige View. Sie erlaubt mehrere Layouts in eine einzige Activity einzufügen.
Der komplette Sourcecode befindet sich am Ende.
Das Englische Originaltutorial.
Vorläufig erlaubt der Designer nicht Views direkt in die TabHost View einzufügen.
Man kann nur die TabHost einfügen und ihr Layout definieren:
Es gibt mehrere Möglichkeiten, um TabPages (Tabseiten) hinzuzufügen. Normalerweise ist es empfehlenswert, eine Layout-Datei im Designer für jede Seite (TabPage) zu erstellen und sie dann zu laden.
Der Designer behandelt alle Layout-Datein separat. Es ist Ihre Verantwortung, den Views verschiedene Namen zu geben, es ist nicht erlaubt mehrere Views mit dem gleichen Namen zu erstellen (das ist nur für Views gültig die einen programmgesteuerten Zugriff erfordern).
Das wird mit AddTab oder AddTabWithIcon gemacht.
Beispiel:
AddTabWithIcon enthält zwei Bitmaps. Tatsächlich braucht man zwei Icons. Eins, wenn das Tab ausgewählt ist und eine wenn das Tab nicht aktiviert ist. Die Richtlinien empfehlen die Schaffung einer dunklen Version für das ausgewählte Symbol und eine helle Version für das nicht ausgewählte Symbol.
Sie können manuell ein Tab mit der CurrentTab Eigenschaft (property) wählen.
Der komplette Sourcecode befindet sich am Ende.
Sourcecode:
TabHost.zip
Der komplette Sourcecode befindet sich am Ende.
Das Englische Originaltutorial.
Vorläufig erlaubt der Designer nicht Views direkt in die TabHost View einzufügen.
Man kann nur die TabHost einfügen und ihr Layout definieren:
Es gibt mehrere Möglichkeiten, um TabPages (Tabseiten) hinzuzufügen. Normalerweise ist es empfehlenswert, eine Layout-Datei im Designer für jede Seite (TabPage) zu erstellen und sie dann zu laden.
Der Designer behandelt alle Layout-Datein separat. Es ist Ihre Verantwortung, den Views verschiedene Namen zu geben, es ist nicht erlaubt mehrere Views mit dem gleichen Namen zu erstellen (das ist nur für Views gültig die einen programmgesteuerten Zugriff erfordern).
Das wird mit AddTab oder AddTabWithIcon gemacht.
Beispiel:
B4X:
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("main")
Dim bmp1, bmp2 As Bitmap
bmp1 = LoadBitmap(File.DirAssets, "ic.png")
bmp2 = LoadBitmap(File.DirAssets, "ic_selected.png")
TabHost1.AddTabWithIcon ("Name", bmp1, bmp2, "page1") 'load the layout file of each page
TabHost1.AddTab("Color", "page2")
TabHost1.AddTab("Animal", "page3")
End Sub
Sie können manuell ein Tab mit der CurrentTab Eigenschaft (property) wählen.
Der komplette Sourcecode befindet sich am Ende.
B4X:
Sub Process_Globals
End Sub
Sub Globals
Dim TabHost1 As TabHost
Dim txtName, txtAnimal, txtColor As EditText
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("main")
Dim bmp1, bmp2 As Bitmap
bmp1 = LoadBitmap(File.DirAssets, "ic.png")
bmp2 = LoadBitmap(File.DirAssets, "ic_selected.png")
TabHost1.AddTabWithIcon ("Name", bmp1, bmp2, "page1") 'load the layout file of each page
TabHost1.AddTab("Color", "page2")
TabHost1.AddTab("Animal", "page3")
End Sub
Sub Activity_Pause (Finishing As Boolean)
End Sub
Sub Activity_Resume
End Sub
Sub btnNext1_Click
TabHost1.CurrentTab = 1 'move to next tab
End Sub
Sub btnNext2_Click
TabHost1.CurrentTab = 2 'move to next tab
End Sub
Sub btnDone_Click
Dim sb As StringBuilder
sb.Initialize
sb.Append("You have entered:").Append(CRLF)
sb.Append("Name: ").Append(txtName.Text).Append(CRLF)
sb.Append("Color: ").Append(txtColor.Text).Append(CRLF)
sb.Append("Animal: ").Append(txtAnimal.Text)
Msgbox(sb.ToString, "")
End Sub
Sub TabHost1_TabChanged
Activity.Title = "Current Tab = " & TabHost1.CurrentTab
End Sub
Last edited: