[英]Android: App Icon as Up Button does not work
我遵循Android開發者網站上的基本初學者教程。 現在,我將介紹如何將應用程序圖標作為向上按鈕(參見上一篇文章): http : //developer.android.com/training/basics/actionbar/adding-buttons.html#UpNav
我把“getSupportActionBar()。setDisplayHomeAsUpEnabled(true);” 在我的活動onCreate()方法,但在我的設備上我的應用程序沒有應用程序圖標作為按鈕。 這是我的活動
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
和
public class DisplayMessageActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
// Get the message from the intent
Intent intent = this.getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
// Create the text view
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
// Set the text view as the activity layout
setContentView(textView);
}
還有我的清單
<?xml version="1.0" encoding="utf-8"?>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".DisplayMessageActivity"
android:label="@string/title_activity_display_message"
android:parentActivityName=".MainActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.andreas.myapplication.MainActivity" />
</activity>
</application>
和Gradle Infos
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.example.andreas.myapplication"
minSdkVersion 8
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
我很困惑,因為即時通訊使用正確的方法minSdkVersion 8。
有誰知道,為什么ma App不會將Icon顯示為Up-Button?
最好的祝福
我遇到了同樣的問題 - 啟用“將主頁顯示為向上”導致向上按鈕上顯示箭頭圖像。 我已設法用一個應用程序圖標替換箭頭,步驟如下:
/drawable
app圖標圖像創建一個新的ImageAsset
。 在子活動的OnCreate()
中,添加2行:
getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_action_home);
替換元數據值android:value =“com.example.andreas.myapplication.MainActivity” for android:value =“。MainActivity”
要支持具有支持庫的舊設備,還要包含一個元素,該元素將父活動指定為android.support.PARENT_ACTIVITY的值,如下所示:
<!-- Parent activity meta-data to support 4.0 and lower -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity" />
完整的解釋如下:http://programmerguru.com/android-tutorial/how-to-add-up-button-on-action-bar/
我相信你需要調用getSupportActionBar().setDisplayHomeAsUpEnabled(true);
在調用setContentView(textView);
在第二個活動中。
編輯:
另外,主要活動不應該調用getSupportActionBar().setDisplayHomeAsUpEnabled(true);
因為它無處可去。 您應該添加一個按鈕來切換活動,否則您將無法訪問DisplayMessageActivity。 嘗試這樣的事情:
Intent showmessg = new Intent(getApplicationContext(), DisplayMessageActivity.class);
startActivity(showmessg);
希望對你有效。
來源: http : //developer.android.com/training/basics/actionbar/adding-buttons.html#UpNav
我認為在android 5和API 21中我們無法使用app圖標進行操作。
如果您的appcompat支持庫是v7 rev21,我認為您至少不能使用應用程序圖標來執行操作。 但你可以使用它而不是左上角插入符號,或者你可以使用該插入符號右側的應用程序圖標,但如果你點擊它沒有任何反應。
我有兩個應用程序完全像在其中一個訓練中我使用較舊的appcompat v7和minSdkVersion =“11”而我從未添加過getSupportActionBar().setDisplayHomeAsUpEnabled(true);
它,但應用程序有應用程序圖標,沒有問題。 但在另一個應用程序我幾天前更新我的支持庫到rev21,當然這個應用程序的minSdkVersion是“8”但這個應用程序沒有actionBar圖標為Up動作,如果你添加頂級代碼,你什么都不做。 我搜索了許多網站,據我所知,在材料設計中谷歌刪除了應用程序圖標,因為操作欄上的空間增加等等。您可以在此頁面中看到此行。
“當使用Material主題(在API 21或更新版本中默認)時,導航按鈕(以前稱為”Home“)將占用應用程序圖標以前占用的空間。希望表達更強大品牌的應用程序應在行動中大量使用其品牌顏色欄和其他應用程序chrome或使用替代標准標題文本。“
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.