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>