Custom Tabs - wie bei Google+

  • Antworten:3
  • Bentwortet
Gelöschter Account
  • Forum-Beiträge: 196

18.12.2011, 18:42:45 via Website

Hallo,

ich versuche gerade ein Custom TabHost wie bei Google+ zu erstellen,
bin leider totaler Anfänger wenn es um Tabs geht :(
Ich hab schon die Tutorials im Internet ausporbiert,
es hat aber irgendwie nie funktioniert.

Könnte mir da vllt. jemand helfen?

Ich hab bis jetzt ein TabHost erstellt ("langweiliges Design"),
jetzt will ich es nur noch so Aussehen lassen wie bei Google+

Vielleicht könnte mir jemand dann noch helfen,
wie ich das "horizontale Scrollen" hinbekomme
(Also um zw. den Tabs zu wechseln)

zur "besseren" Vorstellung hier ein Foto:
(da wo "Nicht in Kreisen" steht)



Vielen Dank schon mal im voraus


EDIT: Ich hab es jetzt so zum Teil hinbekommen,
bräuchte nur Hilfe beim Content setzen,
da ich nicht weiß wie das geht...

Ich hab das nach einem Tutorial im Internet gemacht,
bloß da wird einem nicht gezeigt wie man Content hinzufügt

Hier mal mein Code:
1public class RemindrActivity extends TabActivity {
2
3 private TabHost mTabHost;
4
5 private void setupTabHost() {
6 mTabHost = (TabHost) findViewById(android.R.id.tabhost);
7 mTabHost.setup();
8 }
9
10 /** Called when the activity is first created. */
11 @Override
12 public void onCreate(Bundle savedInstanceState) {
13 super.onCreate(savedInstanceState);
14 // construct the tabhost
15 setContentView(R.layout.main);
16
17 setupTabHost();
18 //mTabHost.getTabWidget().setDividerDrawable(R.drawable.tab_divider);
19
20 setupTab(new TextView(this), "TASKS");
21 setupTab(new TextView(this), "PRIORITIZED");
22 setupTab(new TextView(this), "OVERDUE");
23 }
24
25 private void setupTab(final View view, final String tag) {
26 View tabview = createTabView(mTabHost.getContext(), tag);
27
28 TabSpec setContent = mTabHost.newTabSpec(tag).setIndicator(tabview).setContent(new TabContentFactory() {
29 public View createTabContent(String tag) {return view;}
30 });
31 mTabHost.addTab(setContent);
32
33 }
34
35 private static View createTabView(final Context context, final String text) {
36 View view = LayoutInflater.from(context).inflate(R.layout.tabs_bg, null);
37 TextView tv = (TextView) view.findViewById(R.id.tabsText);
38 tv.setText(text);
39 return view;
40 }
41
42}

Ich denk mal es ist Zeile 28-30, aber ich weiß trotzdem nicht wie ich das machen soll...

— geändert am 18.12.2011, 21:28:25

Antworten
Mike W.
  • Forum-Beiträge: 87

18.12.2011, 22:06:54 via Website

Also das was da verwendet wird ist ein ViewPager. Also kein normaler TabHost.
Die ViewPager Klasse befindet sich glaube ich im Compatibility Package, das du im Android SDK Manager runterladen kannst.
Hier hat es ein Tutorial wie der ViewPager funktioniert: http://blog.stylingandroid.com/archives/537

Gelöschter Account

Antworten
Gelöschter Account
  • Forum-Beiträge: 196

19.12.2011, 16:41:48 via Website

Mike W.
Also das was da verwendet wird ist ein ViewPager. Also kein normaler TabHost.
Die ViewPager Klasse befindet sich glaube ich im Compatibility Package, das du im Android SDK Manager runterladen kannst.
Hier hat es ein Tutorial wie der ViewPager funktioniert: http://blog.stylingandroid.com/archives/537

Vielen Dank! Leider klappt das bei mir schon beim Einbinden der Library nicht ganz (kommt auf den Fehler der da beschrieben ist, doch die Lösung funktioniert nicht... :( )
Hat jemand vllt. einen Rat, bzw. ein anderes gut beschriebenes Tutorial?

Antworten