android-如何在自定义操作栏后移动滑动选项卡

时间:2015-03-13 06:58:15

标签: android android-tabhost

我在我的应用程序中使用滑动选项卡,正如您在此图像中看到的那样,它位于自定义操作栏上方。

enter image description here

这是我的代码:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.details);

        actionbar();

        viewpager=(ViewPager) findViewById(R.id.pager);
        viewpager.setAdapter(new myAdaptor(getSupportFragmentManager()));
        viewpager.setOnPageChangeListener(new OnPageChangeListener() {

            @Override
            public void onPageSelected(int arg0) {
                actionbar.setSelectedNavigationItem(arg0);
                //agar viewpager safhe ro taghir dad, action bar ham haman ro entekhab kone             
            }

            @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=getSupportActionBar();
        actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);  // amade ye sakht Tab bash

        ActionBar.Tab tab1=actionbar.newTab();
        tab1.setText(Z_Farsi.Convert("مشاهده فیلم"));
        tab1.setTabListener(this);

        ActionBar.Tab tab2=actionbar.newTab();
        tab2.setText(Z_Farsi.Convert("نظرات"));
        tab2.setTabListener(this);


        actionbar.addTab(tab2);
        actionbar.addTab(tab1,true);

        Bundle bl=getIntent().getExtras();
        onvan=bl.getString("onvan");
        url=bl.getString("url");

        Fragment_playmoview fragment = new Fragment_playmoview();
        Bundle bundle = new Bundle();
        bundle.putString("onvan", onvan);
        bundle.putString("url", url);
        fragment.setArguments(bundle);
    }
private void actionbar() {
        ActionBar actionBar = getSupportActionBar();
        LayoutInflater layoutInflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        final View mCustomView = layoutInflater.inflate(R.layout.actionbar,null);

        ImageView nDrawer = (ImageView) mCustomView.findViewById(R.id.imageView4);
        nDrawer.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                DrawerActivity.open();
            }
        });
        TextView tv1=(TextView)mCustomView.findViewById(R.id.textView1);
        tv1.setTypeface(typeface);
        tv1.setVisibility(View.VISIBLE);
        tv1.setText(Z_Farsi.Convert(onvan));

        actionBar.setCustomView(mCustomView);
        actionBar.setDisplayShowCustomEnabled(true);
        getSupportActionBar().setDisplayShowCustomEnabled(true);
        actionBar.setDisplayShowTitleEnabled(false);
        actionBar.setDisplayHomeAsUpEnabled(true);
        actionBar.setDisplayUseLogoEnabled(false);
        actionBar.setDisplayShowHomeEnabled(false);
        actionBar.setHomeButtonEnabled(true);
        actionBar.setIcon(null);
    }

我带上了actionbar()类,但它不起作用 如何将自定义操作栏移动到滑动选项卡上方?

2 个答案:

答案 0 :(得分:0)

尽量不要使用默认操作栏,您可以通过包含自定义操作栏的布局并将其放在主要活动xml之上来实现。您应该包括

 android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

在您的清单文件中实现此目的。

答案 1 :(得分:0)

似乎与此主题中的问题相同:

ActionBarSherlock - Tabs appearing ABOVE actionbar with custom view

基本上尝试设置

actionBar.setDisplayShowHomeEnabled(true) 

在onCreate()中,要折叠主页按钮:

View homeIcon = findViewById(android.R.id.home);
((View) homeIcon.getParent()).setVisibility(View.GONE);