3

我有一個自定義的Android操作欄與自定義佈局視圖和樣式。我需要爲我的導航抽屜顯示「Home As Up」按鈕。問題是該按鈕沒有顯示在我的自定義佈局樣式中。我需要Android默認主頁作爲圖標,以便我可以有一個默認的導航抽屜圖標。 (具有導航抽屜打開和關閉動畫的圖標)。Android Default HomeAsUp自定義ActionBar

現在我試着做

getActionBar().setDisplayHomeUpAsEnabled(true);

getActionBar().setHomeButtonEnabled(true)

但home鍵沒有顯示出來。任何人都可以告訴我如何實現自定義操作欄上的默認主頁按鈕?

回答

6

對我來說這可以顯示向上導航。我仍然在想出如何實際實現上行導航。

getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_HOME_AS_UP); 

看樣子你可以使用的便利函數來處理像這樣:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case android.R.id.home: 
      Intent intent; 
      intent = NavUtils.getParentActivityIntent(this); 
      NavUtils.navigateUpTo(this, intent); 
      return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 

要處理的按鈕在自定義部分,你可以在佈局中添加的onClick和實現特定的功能。

+0

謝謝你會試試看... – SynerFlow

0

老問題,但這裏是我的礦用...

... 
getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_HOME_AS_UP); 
getActionBar().setDisplayHomeAsUpEnabled(true); 
... 

然後在AndroidManifest.xml:

<activity 
    ... 
    android:parentActivityName="com.example.app.MainActivity" 
    <meta-data 
     android:name="android.support.PARENT_ACTIVITY" 
     android:value="com.example.app.MainActivity"> 
    </meta-data> 
</activity> 

的元數據值是Android 4.0及以下支持如果使用ActionBarSherlock或AppCompat,但對於4.1及更高版本,只需將android:parentActivityName添加到清單中的活動聲明中即可。

這允許我使用向上導航(顯示按鈕AND實際上導航),而我有一個自定義的操作欄佈局。

希望這可以幫助您或其他人在未來。