0
홈 버튼을 사용하도록 설정하지 않았습니다. 메뉴를 전환 할 수 없습니다!SlidingMenu : "getActionBar(). setHomeButtonEnabled (true);" 촬영하지 않음
내 테스트 응용 프로그램에서 작동하지만 원하는 앱에 없습니다. 여기
NavigationDrawerActivity
: 나는 많은 포럼 및 대상에 대한 다른 사이트를 읽은public class NavigationDrawerActivity extends Activity{
protected String[] drawerList;
protected ListView drawerView;
protected DrawerLayout drawerLayout;
protected Context context;
private ActionBarDrawerToggle mDrawerToggle;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context=this;
drawerView=(ListView) findViewById(R.id.left_drawer);
drawerLayout=(DrawerLayout) findViewById(R.id.drawer_layout);
//Android doesn't accept the ListView.setAdapter here..!?
drawerList = getResources().getStringArray(R.array.nav_drawer_items);
((ListView) findViewById(R.id.left_drawer)).setAdapter(new ArrayAdapter<String>(this, R.layout.menu_list_item, drawerList));
drawerView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent menu;
switch (position) {
case 0:
drawerLayout.closeDrawer(drawerView);
if(context.getClass().equals(ActivityMain.class)) {
Log.i("menu", "same Actvity");
break;
}
menu = new Intent(context, ActivityMain.class);
menu.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(menu);
overridePendingTransition(R.anim.in, R.anim.out);
break;
default:
drawerLayout.closeDrawer(drawerView);
//new RalaAlertToast(context, "default");
break;
}
}
});
mDrawerToggle = new ActionBarDrawerToggle((Activity) context, drawerLayout, R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close) {
/** Called when a drawer has settled in a completely closed state. */
public void onDrawerClosed(View view) {
super.onDrawerClosed(view);
getActionBar().setTitle(R.string.app_name);
}
/** Called when a drawer has settled in a completely open state. */
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
getActionBar().setTitle(R.string.app_name);
}
};
drawerLayout.setDrawerListener(mDrawerToggle);
getActionBar().setDisplayHomeAsUpEnabled(true);
actionAPI14();
}
@TargetApi(14)
private void actionAPI14() {
if(Build.VERSION.SDK_INT>=14) {//disabled Target Check
getActionBar().setHomeButtonEnabled(true);
}
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
// Sync the toggle state after onRestoreInstanceState has occurred.
mDrawerToggle.syncState();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
mDrawerToggle.onConfigurationChanged(newConfig);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Pass the event to ActionBarDrawerToggle, if it returns
// true, then it has handled the app icon touch event
if (mDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
// Handle your other action bar items...
return super.onOptionsItemSelected(item);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
if(! drawerLayout.isDrawerOpen(drawerView)) {
finish();
System.exit(0);
return true;
}else{
drawerLayout.closeDrawer(drawerView);
}
}
return false;
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
if(drawerLayout.isDrawerOpen(drawerView)) {
drawerLayout.closeDrawer(drawerView);
return true;
}
}
return false;
}
}
...
하지만 아무것도 도움이되었다.
가능한 원인은 무엇입니까?
나는 다른 사람들을 위해서도 게시 했으므로 오랫동안 자신의 메뉴를 만드는 간단한 방법을 찾고 있습니다. 이 Claes를 확장합니다. (나는 오래 동안 검색했고 내 테스트 앱에서 문제없이 작동합니다!)