[英]Android action bar removing home icon with light theme reverts to blue divider
[英]Android action bar home
很簡單,
操作欄的左上角是應用程序的默認圖標。 在大多數應用中,它會被點擊並返回主頁。 我正在使用2個設備,3.2和2.3.3,我正在嘗試在3.2上實現操作欄而不影響另一個。
我想它的實現方式如下:
case android.R.id.home:
Intent intent = new Intent(this, ActOnThisActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
return true;
最后一件事是設置標志
getActionBar().setHomeButtonEnabled(true);
這應該可行,但任何熟悉android的人都知道,這不能在11或更低的API上運行。 所以它將運行在3.2+而不是2.3.3。 有沒有辦法指定此方法只適用於api11及以上?
請注意@TargetApi(11)注釋可能有效,但我有一些奇怪的錯誤。
從sdk示例中查看ActionBarCompat
可以讓您了解如何執行此操作。
ActionBarHelper
類中的以下代碼(來自示例)決定不同版本的實例。
public static ActionBarHelper createInstance(Activity activity) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
return new ActionBarHelperICS(activity);
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
return new ActionBarHelperHoneycomb(activity);
} else {
return new ActionBarHelperBase(activity);
}
}
看看ActionbarSherlock - 我在幾個應用程序中使用它,它完美無瑕。 在Honeycomb(3.0)以下的Android版本中完美模仿Action Bar。
幾乎所有與操作欄交互的主要API。 這是確切的API getSupportActionBar()公開的API。
有沒有辦法指定此方法只適用於api11及以上?
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB) {
getActionBar().setHomeButtonEnabled(true);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.