我正在使用工具栏小部件作为遵循Cris Banes指南的ActionBar。
在我的用例中,我需要在浏览ViewPager中包含的另一个片段时隐藏活动中的导航抽屉。
以前,我在使用ActionBar Widget隐藏导航抽屉时使用了以下属性。这似乎工作正常。
getActionBar().setDisplayHomeAsUpEnabled(false);
getActionBar().setHomeButtonEnabled(false);
虽然现在在使用
时更改为AppCompat21getSupportActionBar().setDisplayHomeAsUpEnabled(false);
getSupportActionBar().setHomeButtonEnabled(false);
这似乎隐藏了actionBar中的导航抽屉。 我在这方面遗漏了什么,感谢任何帮助。
答案 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);