如何在使用appcompat21时隐藏导航抽屉指示器

时间:2015-03-02 04:39:16

标签: android android-actionbar navigation-drawer android-appcompat

我正在使用工具栏小部件作为遵循Cris Banes指南的ActionBar。 在我的用例中,我需要在浏览ViewPager中包含的另一个片段时隐藏活动中的导航抽屉。 以前,我在使用ActionBar Widget隐藏导航抽屉时使用了以下属性。这似乎工作正常。 getActionBar().setDisplayHomeAsUpEnabled(false); getActionBar().setHomeButtonEnabled(false);

虽然现在在使用

时更改为AppCompat21
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
getSupportActionBar().setHomeButtonEnabled(false);

这似乎隐藏了actionBar中的导航抽屉。 我在这方面遗漏了什么,感谢任何帮助。

3 个答案:

答案 0 :(得分:14)

toolbar.setNavigationIcon(null);

它会隐藏导航图标,以供参考,您可以查看此answer

答案 1 :(得分:10)

如果您在Toolbar - >内使用DrawerLayout AppBarLayout

然后是班级

ActionBarDrawerToggle-->setDrawerIndicatorEnabled(false) 

功能会使导航抽屉图标不可见。像

public class MainActivity extends AppCompatActivity
                implements NavigationView.OnNavigationItemSelectedListener
{

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

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        drawer.addDrawerListener(toggle);
//the below line of code will allow you to hide the nav drawer icon 
        toggle.setDrawerIndicatorEnabled(false);    
        toggle.syncState();

        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);
    }

答案 2 :(得分:3)

您的代码仅在您使用时才有效:

getSupportActionBar().setDisplayHomeAsUpEnabled(false);

getSupportActionBar().setHomeButtonEnabled(false);

您也可以尝试:

toolbar.setNavigationIcon(null);