如何在Android抽屉布局的左上角添加3行图标
我正在编写新的应用程序,我想将我的如何在Android抽屉布局的左上角添加3行图标,android,icons,drawerlayout,drawer,Android,Icons,Drawerlayout,Drawer,我正在编写新的应用程序,我想将我的抽屉布局图标外观更改为典型的3条水平线。若我点击它,图标会将其外观改为箭头。现在我一直有一个箭头图标 包pl.nieruchalski.scrumfamily import android.app.Activity; import android.content.res.Configuration; import android.os.PersistableBundle; import android.support.v4.widget.DrawerLayo
抽屉布局
图标外观更改为典型的3条水平线。若我点击它,图标会将其外观改为箭头。现在我一直有一个箭头图标
包pl.nieruchalski.scrumfamily
import android.app.Activity;
import android.content.res.Configuration;
import android.os.PersistableBundle;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
public class MainActivity extends Activity {
private ActionBarDrawerToggle drawerToggle;
private DrawerLayout drawerLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, R.string.openDrawer, R.string.closeDrawer);
drawerLayout.addDrawerListener(drawerToggle);
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);
}
@Override
public void onPostCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
super.onPostCreate(savedInstanceState, persistentState);
drawerToggle.syncState();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
drawerToggle.onConfigurationChanged(newConfig);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(drawerToggle.onOptionsItemSelected(item))
return true;
return super.onOptionsItemSelected(item);
}
}
在onCreate()中尝试此操作:
您正在重写错误的onPostCreate()
方法,因此drawerToggle.syncState()代码>永远不会被调用,切换也永远不会在操作栏上放置自己的图标
您需要仅使用Bundle
参数覆盖onPostCreate()
方法;无PersistableBundle
参数
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
drawerToggle.syncState();
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
drawerToggle.syncState();
}