繁体   English   中英

NavigationDrawer Toggle在所有设备上都不可见

[英]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.

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