Intereting Posts
TransactionTooLargeEception при попытке получить список установленных приложений Сохранение массива байтов с использованием SharedPreferences Как отключить панель действий навсегда Установите альфа-прозрачность только для макета, а не для своих детей Android ListView: текст по умолчанию, когда нет элементов FLAG_ACTIVITY_SINGLE_TOP не работает Android Snackbar TextAlignment в центре Как проверить текущее состояние приемника GPS? Я не могу кэшировать изображения, поскольку я привязываю изображение с помощью MvvmCross Не удалось изменить курсор Up рядом с пиктограммой приложения в ActionBar в моем навигационном ящике Как изменить образ ImageView на Android? Убедитесь, что метод вызывается в onNext из RxJava Subscriber Обновление Robolectric 2.4: Получение ошибки тега приложения для проектов библиотеки в eclipse Почему бы не установить CircleImageView для поддержки v4-библиотеки поддержки Android? Как читать UDID, Major, Minor beacon на устройствах Android?

Android: значок приложения как кнопка вверх не работает

Iam после основного учебника для новичков на сайте разработчика 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" } 

Iam путают, потому что im alredy использует правильный метод для minSdkVersion 8.

Кто-нибудь знает, почему ma App не показывает значок как кнопку?

с наилучшими пожеланиями

Я столкнулся с одной и той же проблемой – включение «отображения дома как вверх» привело к нажатию кнопки «Вверх» со стрелкой на ней. Мне удалось заменить стрелку на значок приложения следующими шагами:

  • Создайте новый ImageAsset с изображениями пиктограмм приложения в /drawable .
  • В OnCreate() дочерней активности добавьте 2 строки:

     getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_action_home); 

Замените значение метаданных android: value = "com.example.andreas.myapplication.MainActivity" для 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 мы не можем использовать значок приложения для действия.
Если ваша библиотека поддержки appcompat v7 rev21, я думаю, вы не можете использовать значок приложения, по крайней мере, для действия. Но вы можете использовать его вместо верхнего левого каретки, или вы можете использовать значок приложения справа от этой каретки, хотя если и щелкнуть по нему, ничего не произойдет.

У меня есть два приложения, полностью подобные этим тренировкам, в одном из них я использую старый appcompat v7 и minSdkVersion = «11», и я никогда не добавлял getSupportActionBar().setDisplayHomeAsUpEnabled(true);
К нему, но приложение имеет значок приложения и никаких проблем. Но в другом приложении я обновляю свою библиотеку поддержки несколько дней назад до rev21, и, конечно, minSdkVersion этого приложения – это «8», но это приложение не имеет значка actionBar для действия Up, и если вы добавляете в него верхний код, вы ничего не делаете. Я ищу многие сайты, и я понимаю, что в материальном дизайне google удален значок приложения для действия из-за увеличения пространства на панели действий и т. Д. Вы можете увидеть эту строку на этой странице .

«При использовании тем Материала (по умолчанию в API 21 или новее) кнопка навигации (ранее« Домой ») занимает пространство, ранее занимаемое значком приложения. Приложения, желающие выразить более сильный брендинг, должны сильно использовать свои цвета бренда в действии Бар и другое приложение хром или использовать вместо стандартного текста заголовка ».