2016-07-30 6 views
1

私はmikepenz引き出しライブラリを使用していますが、私は自分のdrawableアイコンでデフォルトのhumburgerアイコンとback arrowアイコンを変更したいと思います。ツールバーのhumbergerアイコンを変更するには?

私は何度も試みましたが、私は自分のアイコンでアイコンを変更できません

誰でも手伝ってもらえますか?

new DrawerBuilder() 
    .withActivity(this) 
    .withTranslucentStatusBar(false) 
    .withActionBarDrawerToggle(false) 
    .withToolbar(toolbar) 
    .addDrawerItems(
     //pass your items here 
    ) 
    .build(); 

HUMBURGERのアイコンを表示するためのコード:

getSupportActionBar().setDisplayHomeAsUpEnabled(false); 
result.getActionBarDrawerToggle().setDrawerIndicatorEnabled(true); 

次は私が何回も見つかりましたが、私もこれを試してみましたが、それは

Drawable upArrow = getResources().getDrawable(R.drawable.my_drawable); 

     actionBar.setHomeAsUpIndicator(upArrow); 
     actionBar.setDisplayHomeAsUpEnabled(true); 
     actionBar.setHomeButtonEnabled(true); 

そしてとき私は動作しませんでしたコードです検索私はまた、あなたがドロワービルダーにツールバーを渡す場合、あなたはアイコンを変更することができないことを知っているので誰でも私に何ができるのか教えてくれますか?

答えて

1

私はそのライブラリでそれを試みたが、次のことを試してみています

ActionBar actionBar = getSupportActionBar(); 
     if (actionBar != null) { 
      final Drawable upArrow = getResources().getDrawable(R.drawable.my_drawable); 

      actionBar.setHomeAsUpIndicator(upArrow); 
      actionBar.setDisplayHomeAsUpEnabled(true); 
      actionBar.setHomeButtonEnabled(true); 
     } 
+0

...あなたはあなたの問題を解決しました願っています –

+0

申し訳ありませんが、downvotesを避けるためにあなたの質問を正しくフォーマットしてください。 – Shaishav

0

以下の変更によって、これを試してみてください:

result.getActionBarDrawerToggle().setDrawerIndicatorEnabled(false); 

result.getActionBarDrawerToggle().setDrawerIndicatorEnabled(true); 

この無効化ライブラリデフォルトのアイコンをクリックしてアイコンを変更します。

getSupportActionBar().setHomeAsUpIndicator(R.drawable.my_drawable); 
1

このlinkによれば、DrawerBuilderからwithToolbar()を削除する必要があります。その後、あなた自身で開閉を完全に処理する必要があります。そのために

あなたはその

protected void onCreate(Bundle savedInstanceState) { 
     ... 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
     getSupportActionBar().setDefaultDisplayHomeAsUpEnabled(false); 
     toggle.setDrawerIndicatorEnabled(false); 
     toggle.setHomeAsUpIndicator(R.drawable.ic_custom_drawer_icon); 
     ... 
    } 

のようないくつかのことを行うことができます。また、カスタムの引き出しのアイコンをクリックイベントをリッスンするには、ツールバーのナビゲーションクリックリスナーを追加する必要がありました。

protected void onCreate(Bundle savedInstanceState) { 
     ... 
     toggle.setToolbarNavigationClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
       if (drawer.isDrawerOpen(GravityCompat.START)) { 
        drawer.closeDrawer(GravityCompat.START); 
       } else { 
        drawer.openDrawer(GravityCompat.START); 
       } 
      } 
     }); 
     ... 
    } 

toggle.setHomeAsUpIndicator(R.drawable.ic_new_icon); 

として必要なときにいつでも動的にアイコンを更新することができますが、これはあなたを助けることを願っています。

0

private DrawerLayout drawerLayout; 
 
private ActionBarDrawerToggle actionBarDrawerToggle; 
 
Toolbar toolbar; 
 
String Drawer_Open,Drawer_Close; 
 

 
@Override 
 

 
protected void onCreate(Bundle savedInstanceState){ 
 
super.onCreate(savedInstanceState); 
 
setContentView(R.layout.activity_main); 
 
toolbar=(Toolbar)findViewById(R.id.toolbar); 
 
setSupportActionBar(toolbar); 
 
//set it button icon 
 
getSuppotActionBar().setDisplayHomeAsUpEnabled(true); 
 
//set it makes button Clickble 
 
getSuppotActionBar().setHomeButtonEnabled(true); 
 
//set your own icon by using this code 
 
getSuppotActionBar().setHomeAsUpIndicator(R.drawable.my_icon); 
 
drawerLayout=(DrawerLayout)findViewById(R.id.drawer_layout); 
 
actionBarDrawerToggle=new ActionBarDrawerToggle(this,drawerLayout,toolbar,Drawer_Open,Drawer_Close); 
 
drawerLayout.serDrawerListener(actionBarDrawerToggle); 
 
} 
 

 
}

ここでも、あなたは、.....どの帖は、ここで私に相談してください得る持って、私はこれを試してみましたが、それはうまくいきませんでした

関連する問題