Android ActionBar 自定义视图和 NavigationDrawer
Android ActionBar custom view and NavigationDrawer
我刚刚 运行 遇到了我的主项目 activity 的一些问题。
我有一个带有 NavigationDrawer 的 SherlockFragmentActivity 和带有自定义视图的 ActionBar 上的 SearchView。
问题是当我在 SearchView 上键入查询时,我可以进行搜索并且一切正常,但是当我关闭 SearchView 时,我的 ActionBar 自定义视图和 NavigationDrawer 切换从 ActionBar 中消失。
这是图形问题
这是我的 NavigationDrawer
private void initialiseDrawer(){
this.drawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout);
this.drawerList = (ListView)findViewById(R.id.navigation_drawer);
this.drawerAdapter = new NavigationDrawerAdapter(MainActivity.this);
this.drawerList.setAdapter(drawerAdapter);
this.drawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
handleDrawerSelectedPosition(position);
}
});
//getSupportActionBar().setHomeButtonEnabled(true);
this.drawerToggle = new ActionBarDrawerToggle(this, this.drawerLayout, R.drawable.drawer,
R.string.navigation_drawer_open, R.string.navigation_drawer_close){
public void onDrawerOpened(View view){
super.onDrawerOpened(view);
hideMenu();
}
public void onDrawerClosed(View view){
super.onDrawerClosed(view);
showMenu();
}
};
this.drawerLayout.setDrawerListener(drawerToggle);
this.drawerToggle.syncState();
}
这就是我设置 ActionBar 的方式
private void showCustomActionBarView(){
getSupportActionBar().setDisplayShowHomeEnabled(false);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowCustomEnabled(true);
getSupportActionBar().setDisplayUseLogoEnabled(false);
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().setCustomView(R.layout.action_bar_layout);
}
在分离 SearchView 后,我可以做什么来显示我的自定义 View 和 DrawerToggle?
好吧,我在这里找到了自己的答案,我使用的是 SherlockActionBar 和支持库 4.0,我刚刚删除了 sherlock 库并将我的支持库更新到 v7.21.03,实现了工具栏并且每个问题都解决了,希望它帮助别人而不是我
我刚刚 运行 遇到了我的主项目 activity 的一些问题。 我有一个带有 NavigationDrawer 的 SherlockFragmentActivity 和带有自定义视图的 ActionBar 上的 SearchView。 问题是当我在 SearchView 上键入查询时,我可以进行搜索并且一切正常,但是当我关闭 SearchView 时,我的 ActionBar 自定义视图和 NavigationDrawer 切换从 ActionBar 中消失。
这是图形问题
这是我的 NavigationDrawer
private void initialiseDrawer(){
this.drawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout);
this.drawerList = (ListView)findViewById(R.id.navigation_drawer);
this.drawerAdapter = new NavigationDrawerAdapter(MainActivity.this);
this.drawerList.setAdapter(drawerAdapter);
this.drawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
handleDrawerSelectedPosition(position);
}
});
//getSupportActionBar().setHomeButtonEnabled(true);
this.drawerToggle = new ActionBarDrawerToggle(this, this.drawerLayout, R.drawable.drawer,
R.string.navigation_drawer_open, R.string.navigation_drawer_close){
public void onDrawerOpened(View view){
super.onDrawerOpened(view);
hideMenu();
}
public void onDrawerClosed(View view){
super.onDrawerClosed(view);
showMenu();
}
};
this.drawerLayout.setDrawerListener(drawerToggle);
this.drawerToggle.syncState();
}
这就是我设置 ActionBar 的方式
private void showCustomActionBarView(){
getSupportActionBar().setDisplayShowHomeEnabled(false);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowCustomEnabled(true);
getSupportActionBar().setDisplayUseLogoEnabled(false);
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().setCustomView(R.layout.action_bar_layout);
}
在分离 SearchView 后,我可以做什么来显示我的自定义 View 和 DrawerToggle?
好吧,我在这里找到了自己的答案,我使用的是 SherlockActionBar 和支持库 4.0,我刚刚删除了 sherlock 库并将我的支持库更新到 v7.21.03,实现了工具栏并且每个问题都解决了,希望它帮助别人而不是我