ActionBar选项卡不适用于android:theme=“@android:style/theme.Light.NoTitleBar”
我希望我的应用程序没有标题栏,但有一个活动有两个滑动标签如下ActionBar选项卡不适用于android:theme=“@android:style/theme.Light.NoTitleBar”,android,Android,我希望我的应用程序没有标题栏,但有一个活动有两个滑动标签如下 public class APlus_Post extends FragmentActivity implements TabListener { ViewPager viewPager; ActionBar actionBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreat
public class APlus_Post extends FragmentActivity implements TabListener {
ViewPager viewPager;
ActionBar actionBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.post);
viewPager = (ViewPager) findViewById(R.id.pager);
viewPager.setAdapter(new MyAdapter(getSupportFragmentManager()));
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
actionBar.setSelectedNavigationItem(arg0);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
ActionBar.Tab tab1 = actionBar.newTab(); //First Tab
tab1.setText("QAs Wall");
tab1.setTabListener(this);
ActionBar.Tab tab2 = actionBar.newTab(); //Second Tab
tab2.setText("Track Companies");
tab2.setTabListener(this);
actionBar.addTab(tab1);
actionBar.addTab(tab2);
}
@Override
public void onTabReselected(Tab arg0, FragmentTransaction arg1) {
}
@Override
public void onTabSelected(Tab arg0, FragmentTransaction arg1) {
viewPager.setCurrentItem(arg0.getPosition());
}
@Override
public void onTabUnselected(Tab arg0, FragmentTransaction arg1) {
}
}
class MyAdapter extends FragmentPagerAdapter{
public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int arg0) {
Fragment fragment=null;
if(arg0==0){
fragment=new APlus_PostFragment1();
}
if(arg0==1){
fragment=new APlus_PostFragment2();
}
return fragment;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return 2;
}
}
<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
下面给出了与post.xml关联的布局
public class APlus_Post extends FragmentActivity implements TabListener {
ViewPager viewPager;
ActionBar actionBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.post);
viewPager = (ViewPager) findViewById(R.id.pager);
viewPager.setAdapter(new MyAdapter(getSupportFragmentManager()));
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
actionBar.setSelectedNavigationItem(arg0);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
ActionBar.Tab tab1 = actionBar.newTab(); //First Tab
tab1.setText("QAs Wall");
tab1.setTabListener(this);
ActionBar.Tab tab2 = actionBar.newTab(); //Second Tab
tab2.setText("Track Companies");
tab2.setTabListener(this);
actionBar.addTab(tab1);
actionBar.addTab(tab2);
}
@Override
public void onTabReselected(Tab arg0, FragmentTransaction arg1) {
}
@Override
public void onTabSelected(Tab arg0, FragmentTransaction arg1) {
viewPager.setCurrentItem(arg0.getPosition());
}
@Override
public void onTabUnselected(Tab arg0, FragmentTransaction arg1) {
}
}
class MyAdapter extends FragmentPagerAdapter{
public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int arg0) {
Fragment fragment=null;
if(arg0==0){
fragment=new APlus_PostFragment1();
}
if(arg0==1){
fragment=new APlus_PostFragment2();
}
return fragment;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return 2;
}
}
<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
每当我在AndroidMenifesto.xml中使用android:theme=@android:style/theme.Holo.Light运行上述代码时,它都可以正常工作,但当我使用android:theme=@android:style/theme.Light.NoTitleBar时,它就不工作了
我希望在我的应用程序的任何活动中都使用操作栏上的滑动选项卡,而不是标题栏。感谢dude编辑我的问题:我得到了一个解决方案,就是使用这个。requestWindowFeatureWindow.FEATURE\u NO\u title;在每个活动的onCreate方法中使用this.requestWindowFeatureWindow.FEATURE\u NO\u标题,但具有滑动选项卡的活动除外。对于该特定活动,我们可以使用.setDisplayShowHomeEnabledfalse和.setDisplayShowTitleEnabledfalse。其他的解决方案也不错。你能给我看一些关于你的问题的日志信息吗?你能补充一些关于你的解决方案的细节吗?
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowHomeEnabled(false);