2017-01-18 28 views
2

我想在片段中的操作欄左側添加一個後退按鈕作爲菜單。但我不想把後退箭頭當作我的偶像。後退按鈕作爲片段中的菜單

actionBar.setDisplayHomeAsUpEnabled(true);

上面的代碼行給出後退箭頭符號。相反,我想使用一些自定義圖像。同樣使用該自定義圖像應該恢復到之前的活動。

+0

你在使用工具欄嗎? –

+0

不,我正在使用操作欄 – Rider

回答

0

styles.xml添加到您的主題

<item name="android:homeAsUpIndicator">@drawable/my_icon</item> 

它將取代默認的圖標。默認情況下,它使用以下ID:

android.R.id.home 

您可以使用此ID即可返回到先前的活動:

View homeView = getActionBar().getCustomView().findViewById(android.R.id.home); 
     homeView.setOnClickListener(new View.OnClickListener(){ 
      @Override 
      public void onClick(View v) 
      { 
       //Go back 
      } 
     }); 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    // Respond to the action bar's Up/Home button 
    case android.R.id.home: 
     //Return back to your activity! 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 

欲瞭解更多信息,請查看官方文檔在:https://developer.android.com/training/implementing-navigation/ancestral.html

+1

謝謝。有效。 :) 但如何使用此按鈕返回到上一個活動。 – Rider

+0

請標記答案正確:) –

+0

如果您設置了actionBar.setDisplayHomeAsUpEnabled(true),單擊它會將您帶回父活動。 –

1

我添加了類似於:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 

    switch (item.getItemId()) { 
     case android.R.id.home: 
      getActivity().onBackPressed(); 
      return true; 

     default: 
      return super.onOptionsItemSelected(item); 
    } 

} 

它爲我工作。

+0

是的,這將工作!...看到我的更新回答 –

+0

@SuhaylSH我投了。但由於聲譽較低,我的投票不可見。 如果您喜歡或發現我的問題合適,請提出我的問題。謝謝。 – Rider

+0

你不需要任何聲望來標記答案正確:)我upvoted你的問題.. –