我已经尝试过使用 ActionBarDrawerToggle 和带有主题的 Styles.xml 进行相当多的操作,但我在 Google 和 Stack 上尝试过的任何东西似乎都不是我所需要的。
我正在使用 v7 ActionBarDrawerToggle。
正如标题所说,我真正需要做的是保持抽屉上的所有内容,除了抽屉打开时的箭头和选择项目时关闭时的箭头。
我希望那个箭头消失,汉堡图标留下。我可以轻松实现这一点,但不会丢失动画。另一件事是,我也想保留动画,所以不是汉堡包动画/旋转到箭头,汉堡包将动画/旋转到另一个汉堡包。
有任何想法吗?
谢谢!干杯!
这是代码
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_ACTION_BAR);
setContentView(R.layout.activity_main);
getActionBar().setBackgroundDrawable(new
ColorDrawable(Color.parseColor("#CC0000")));
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);
linearMain = (LinearLayout) findViewById(R.id.linearMain);
mDrawerLayout = (DrawerLayout) findViewById(R.id.layout_mainactivity);
mDrawerList = (ListView) findViewById(R.id.left_drawer);
mDrawerList.setDividerHeight(1);
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
R.drawable.ic_drawer, R.string.drawer_open) {
};
mDrawerLayout.setDrawerListener(mDrawerToggle);
mDrawerList.setAdapter(new ArrayAdapter<String>(this,
R.layout.drawer_list_item, menuItems));
Fragment fragment = null;
Class<TabLayoutFragment> fragmentClass = TabLayoutFragment.class;
try {
fragment = (Fragment) fragmentClass.newInstance();
} catch (Exception e) {
e.printStackTrace();
}
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction =
fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragmentContainer, fragment);
fragmentTransaction.commit();
mDrawerList.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, final int
pos,long id){
mDrawerLayout.setDrawerListener( new
DrawerLayout.SimpleDrawerListener(){
@Override
public void onDrawerClosed(View drawerView){
super.onDrawerClosed(drawerView);
if (pos == 0){
TabLayoutFragment.tabLayoutViewPager.setCurrentItem(0);
} else if (pos == 1) {
TabLayoutFragment.tabLayoutViewPager.setCurrentItem(1);
}
}
});
mDrawerLayout.closeDrawer(linearMain);
}
});
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
mDrawerToggle.syncState();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
mDrawerToggle.onConfigurationChanged(newConfig);
}