繁体   English   中英

设置自定义操作栏视图后如何删除默认的android操作栏

[英]How to remove default android action bar after setting custom action bar view

大家好,我有一个问题,我正在尝试从左到右移动操作栏应用程序图标、标题、菜单或...,我正在使用 SherlockActionBar 和 setCustomView 查看代码我的活动

    private void BiftorSetUpActionBar() {
    // TODO Auto-generated method stub
    getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); 
    View actionbarview = getLayoutInflater().inflate(R.layout.biftor_action_bar, null);

    View app_actionbar_bg =(View) actionbarview.findViewById(R.id.app_actionbar_bg);

    app_actionbar_bg.setBackgroundResource(R.drawable.list_item_bg_normal);
    BiftorApptitle=(TextView) actionbarview.findViewById(R.id.app_name);
    BiftorAppIcon=(ImageView) actionbarview.findViewById(R.id.app_icon);
    BiftorAppIcon.setClickable(true);
    BiftorAppMenu=(ImageView) actionbarview.findViewById(R.id.app_menu);
    BiftorAppIcon.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            if(!mDrawerLayout.isDrawerOpen(Gravity.RIGHT))
                mDrawerLayout.openDrawer(Gravity.RIGHT);
            else
                mDrawerLayout.closeDrawer(Gravity.RIGHT);


        }
    });

    BiftorAppMenu.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            openOptionsMenu();
        }
    });


    getSupportActionBar().setCustomView(actionbarview);
}

我的操作栏布局

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/app_actionbar_bg"
    android:background="@drawable/list_item_bg_normal"

     >

    <ImageView
        android:id="@+id/app_icon"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/app_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/app_menu"
        android:layout_centerHorizontal="true"
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#ffeeeeee"
        android:textSize="20sp"
        android:textStyle="bold" />

    <ImageView
        android:id="@+id/app_menu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/app_icon"
        android:layout_alignParentLeft="true"
        android:src="@drawable/abs__ic_menu_moreoverflow_holo_dark" />

</RelativeLayout>

一切正常,但我有一个问题,当我的应用程序启动时,原始(默认)android 操作栏将加载 2-3 秒,然后我的自定义操作栏将显示。 我不想要它,我想完全删除原件。

看看这个视频你会明白我在说什么

这个视频

我在等待。 谢谢大家

编辑1:

我通过在谷歌和这个网站上搜索改变了一些东西,但仍然首先是默认操作栏,然后加载我的自定义操作栏

private void BiftorSetUpActionBar() { // TODO 自动生成的方法存根

//getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); 
getSupportActionBar().setDisplayShowHomeEnabled(false);
getSupportActionBar().setDisplayShowTitleEnabled(false);
View actionbarview = getLayoutInflater().inflate(R.layout.biftor_action_bar, null);
View app_actionbar_bg =(View) actionbarview.findViewById(R.id.app_actionbar_bg);
app_actionbar_bg.setBackgroundResource(R.drawable.list_item_bg_normal);

  .
  .
  .
  .Skip....
  .
  .
  .

getSupportActionBar().setCustomView(actionbarview);
getSupportActionBar().setDisplayShowCustomEnabled(true);}

并更改了 style.xml

   <style name="BiftorAppTheme" parent="Theme.Sherlock.Light.DarkActionBar">
        <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>

    </style>

    <style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
        <item name="background">@drawable/list_item_bg_normal</item>
        <item name="android:background">@drawable/list_item_bg_normal</item>
    </style>

但又一无所有:-(

在片段中,您可以执行以下操作:

 ActionBar actionbar =  ((MainActivity)requireActivity()).getSupportActionBar();
  actionbar.setDisplayOptions(actionbar.DISPLAY_SHOW_CUSTOM);
        actionbar.setCustomView(R.layout.app_bar_custom_layout);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM