![](/img/trans.png)
[英]Android - How to implement a NavigationDrawer that is partially visible at all times?
[英]NavigationDrawer Toggle is not visible on all devices
我已经像这样实现了我的NavigationDrawer
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
actionBarDrawerToggle = new ActionBarDrawerToggle(
this, /* host Activity */
drawerLayout, /* DrawerLayout object */
R.drawable.ic_drawer, /* nav drawer icon to replace 'Up' caret */
R.string.navigation_drawer_open, /* "open drawer" description */
R.string.navigation_drawer_close /* "close drawer" description */
);
drawerLayout.setDrawerListener(actionBarDrawerToggle);
getActionBar().setDisplayHomeAsUpEnabled(true);
从一开始,它似乎就可以完美运行(Nexus 5)。 然后,我已经在Sony LT25i和Nexus S上测试了该应用程序。在此设备上没有显示图标...我认为这可能与显示器尺寸有关,因为nexus 5是其中最大的一个,但是我不知道如何解决此问题。
所有设备均为Android 4.0 +
抱歉,重放太晚了,请使用SherlockNavigainDrawer lib
并将ActionBarDrawerToggle替换为SherlockActionBarDrawerToggle
例子如下
private SherlockActionBarDrawerToggle mDrawerToggle;
.................................
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerToggle = new SherlockActionBarDrawerToggle(this, mDrawerLayout,
R.drawable.ic_drawer, R.string.drawer_open,
R.string.drawer_close) {
public void onDrawerClosed(View view) {
// your code
}
public void onDrawerOpened(View drawerView) {
// your code
}
};
drawerLayout.setDrawerListener(mDrawerToggle);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
// ----------------------------------------------------------------------
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
mDrawerToggle.syncState();
}
// ----------------------------------------------------------------------
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
mDrawerToggle.onConfigurationChanged(newConfig);
}
// ----------------------------------------------------------------------
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (mDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
return super.onOptionsItemSelected(item);
}
希望这个能对您有所帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.