Intereting Posts
OnGlobalLayout различать различные вызовы Читать / записывать объект в файл Проблема с appwidget appWidgetIds (реальные и фантомные экземпляры виджета) Обычная практика – спрашивать пользователей, хотят ли они получать push-уведомления? Получить boolean из базы данных с помощью Android и SQLite Android: остановить / запустить сервис в зависимости от состояния WiFi? TabLayout цвет выделенной вкладки подчеркивание Как имитировать стиль с поднятыми кнопками Material-design, даже для pre-Lollipop (минус специальные эффекты)? Расположение эмулятора Mac OSX для Android Шаблон «Одно действие, несколько видов»: преимущества и недостатки Изменить цвет фона и цвет шрифта Ошибка: выполнение не выполнено для задачи ': app: fabricGenerateResourcesDebug'. > Ошибка инструмента разработчика Crashlytics Папка dexedLibs в проекте android Самый быстрый способ создания макета для тестирования Могу ли я использовать намерение Google Адресов в своем приложении?

ActionBar настраиваемый заголовок как ImaveView вместо TextView

Я пытаюсь обойти это на панели действий, но из того, что я вижу в названии, в основном является TextView, но мне нужно разместить изображение вместо обычного текста. Я пытаюсь настроить его в стиле theme.xml следующим образом:

<item name="android:actionBarStyle">@style/MyActionBar</item> 

И тогда я определил этот стиль

  <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> <item name="android:background">@drawable/action_background</item> <item name="android:titleTextStyle">@style/ActionbarTitleStyle</item> </style> 

Я думал, что могу определить фон для названия, но даже если я делаю это не то, что я хочу, попробуйте getActionBar (). SetCustomView (макет); Но я понял, что моя панель действий имеет значение null до вызова setContentView, и мне это нужно в базовом классе.

Оплаченный Мне нужно только заботиться о HONEYCOMB и Higher, поэтому, если вы не хотите предлагать варианты Шерлока или Йонанильсона.

Solutions Collecting From Web of "ActionBar настраиваемый заголовок как ImaveView вместо TextView"

Если вы хотите изображение, вы можете указать логотип приложения вместе со значком (он будет использоваться вместо значка):

 <application android:icon="@drawable/ic_launcher" android:logo="@drawable/logo" android:label="@string/app_name" android:name=".AppName" > 

Теперь у вас есть произвольное изображение вместо значка lanucher. Что вам нужно сделать дальше, так это избавиться от текста. В ваших стилях делайте что-то вроде:

 <style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.ActionBar"> <item name="titleTextStyle">@style/NoTitleText</item> <item name="android:titleTextStyle">@style/NoTitleText</item> <item name="subtitleTextStyle">@style/NoTitleText</item> <item name="android:subtitleTextStyle">@style/NoTitleText</item> </style> <style name="NoTitleText"> <item name="android:textSize">0sp</item> <item name="android:textColor">#00000000</item> </style> 

Вы должны использовать оба item name="titleTextStyle" и item name="android:titleTextStyle" если вы используете ActionBarSherlock, если я хорошо помню.

Переопределите setContentView следующим образом:

 @Override public void setContentView(int resLayoutId) { super.setContentView(resLayoutId); // TODO Set your actionbar changes here } 

ИЛИ, вы можете сделать это:

 <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> <item name="android:background">@drawable/action_background</item> <item name="android:titleTextStyle">@style/ActionbarTitleStyle</item> <item name="android:displayOptions">showCustom</item> <item name="android:customNavigationLayout">@layout/custom_nav_layout</item> </style>