在android中自定义ActionBar.setDisplayHomeAsUpEnabled

时间:2016-12-10 09:09:20

标签: android android-actionbar

是否可以自定义操作栏的Home按钮? 我使用此代码关闭通知,因为点击了家庭btn,但没有任何反应。

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_adult1);

    toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowHomeEnabled(true);

    notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);



}

 @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                notificationManager.cancel(notification_id);
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }

我该怎么办?

2 个答案:

答案 0 :(得分:0)

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();

    if (id == android.R.id.home)
        Log.d(TAG, "Home clicked");

    return super.onOptionsItemSelected(item);
}

setDisplayHomeAsUpEnabled(boolean showHomeAsUp)

此方法使操作栏中的图标和标题可单击,以便可以提供“向上”(祖传)导航。
此方法只会使图标和标题可压缩,但实际上不会添加向上导航的功能。必须通过指定

来完成
  

机器人:parentActivityName

(获取父活动类名称)在 AndroidManifest.xml 文件中的活动。

答案 1 :(得分:-2)

使用

 @Override            
 public void onConfigurationChanged(Configuration newConfig) {
                super.onConfigurationChanged(newConfig);
                mDrawerToggle.onConfigurationChanged(newConfig);

           if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
                    drawerLayout.closeDrawer(GravityCompat.START);
                    ///// write ur action code here
                }

}