Fragment + Actionbar ausblenden?

  • Antworten:2
  • Bentwortet
Ben Becker
  • Forum-Beiträge: 209

19.06.2013, 15:19:58 via Website

Nach langer Zeit habe ich mal wieder eine Frage. Und zwar habe ich mit der Sherlock Actionbar und dem ViewpagerIndicator von Wharton rum gespielt. Jetzt passt auch alles so weit, nur wenn ich die Actionbar ausblenden will kommt dort ein schwarzer Balken. Wie bekomme ich diesen weg?



Der Quellcode ist nicht sehr groß, da ich das ganze nur Teste erst mal, bevor es dann in meine App kommt. Vielleicht findet ja jemand meinen Fehler.

1package de.benjaminbecker;
2
3import android.os.Bundle;
4import android.support.v4.app.Fragment;
5import android.support.v4.app.FragmentManager;
6import android.support.v4.app.FragmentPagerAdapter;
7import android.support.v4.view.ViewPager;
8
9import com.actionbarsherlock.app.SherlockFragmentActivity;
10import com.viewpagerindicator.PageIndicator;
11import com.viewpagerindicator.TabPageIndicator;
12
13public class start extends SherlockFragmentActivity{
14 private static final String[] TAB_TITLES = new String[] { "Tab A", "Tab B", "Tab C"};
15 TestFragmentAdapter mAdapter;
16 ViewPager mPager;
17 PageIndicator mIndicator;
18
19 @Override
20 protected void onCreate(Bundle savedInstanceState) {
21 super.onCreate(savedInstanceState);
22 setContentView(R.layout.tab);
23 getSupportActionBar().setDisplayShowHomeEnabled(false);
24 getSupportActionBar().setDisplayShowTitleEnabled(false);
25
26
27 mAdapter = new TestFragmentAdapter(getSupportFragmentManager());
28
29 mPager = (ViewPager)findViewById(R.id.pager);
30 mPager.setAdapter(mAdapter);
31
32 mIndicator = (TabPageIndicator)findViewById(R.id.indicator);
33 mIndicator.setViewPager(mPager);
34 }
35
36 class TestFragmentAdapter extends FragmentPagerAdapter {
37 private int mCount = TAB_TITLES.length;
38
39 public TestFragmentAdapter(FragmentManager fm) {
40 super(fm);
41 }
42
43 @Override
44 public Fragment getItem(int position) {
45 return TestFragment.newInstance(String.valueOf(position));
46 }
47
48 @Override
49 public int getCount() {
50 return mCount;
51 }
52
53 @Override
54 public CharSequence getPageTitle(int position) {
55 return TAB_TITLES[position];
56 }
57 }
58}

1package de.benjaminbecker;
2
3import android.os.Bundle;
4import android.view.LayoutInflater;
5import android.view.View;
6import android.widget.TextView;
7import android.view.ViewGroup;
8
9import com.actionbarsherlock.app.SherlockFragment;
10
11public class TestFragment extends SherlockFragment {
12 private String mContent = "???";
13 private static String KEY_TAB_NUM="BEN";
14 public static TestFragment newInstance(String text) {
15 TestFragment fragment = new TestFragment();
16
17 // Supply num input as an argument.
18 Bundle args = new Bundle();
19 args.putString(KEY_TAB_NUM, text);
20 fragment.setArguments(args);
21
22 return fragment;
23 }
24
25 @Override
26 public View onCreateView(LayoutInflater inflater, ViewGroup container,
27 Bundle savedInstanceState) {
28 View view = inflater.inflate(R.layout.tab_navigation1, null);
29 String text = getString(R.string.tab_page_num) + mContent;
30 ((TextView)view.findViewById(R.id.text)).setText(text);
31
32 return view;
33 }
34
35 @Override
36 public void onCreate(Bundle savedInstanceState) {
37 super.onCreate(savedInstanceState);
38 mContent = getArguments() != null ? getArguments().getString(KEY_TAB_NUM) : "???";
39 }
40
41 }

1<?xml version="1.0" encoding="utf-8"?>
2<LinearLayout
3 xmlns:android="http://schemas.android.com/apk/res/android"
4 android:orientation="vertical"
5 android:layout_width="fill_parent"
6 android:layout_height="fill_parent">
7
8 <com.viewpagerindicator.TabPageIndicator
9 android:id="@+id/indicator"
10 android:layout_height="wrap_content"
11 android:layout_width="fill_parent"
12 />
13 <android.support.v4.view.ViewPager
14 android:id="@+id/pager"
15 android:layout_width="fill_parent"
16 android:layout_height="0dp"
17 android:layout_weight="1"
18 />
19</LinearLayout>

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

19.06.2013, 17:01:07 via Website

Hast du schon versucht dein Theme, in ein Theme ohne Actionbar, während der Laufzeit zu ändern?

— geändert am 19.06.2013, 17:06:16

Teste dein IT-Wissen! - IT Quiz

Antworten
Christian
  • Forum-Beiträge: 307

19.06.2013, 21:47:54 via Website

Hi Ben,

die Actionbar belendest du mit folgendem Code aus:

getSupportActionBar().hide();

mit den Zeilen:

getSupportActionBar().setDisplayShowHomeEnabled(false);
getSupportActionBar().setDisplayShowTitleEnabled(false);

sagst du ihm nur das er das HomeIcon und den Titel nicht anzeigen soll.
Die Actionbar an sich ist aber immer noch da.

mfg Christian

Ben Becker

Antworten