Това е доста просто, но ми причинява мъка. Искам лентата ми с действия да показва ресурса @drawable, определен от android:logo в манифеста:
<application
android:allowBackup="true"
android:label="@string/app_name"
android:icon="@drawable/logo">
<activity
android:name=".MainActivity"
android:theme="@style/CustomActionBarTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Ако премахна атрибута android:theme, логото се появява, но приложението незабавно се срива поради някакво незаконно изключение в състояние на super.onCreate(savedInstanceState);
в основната дейност. Ако напусна темата, лентата за действие е празна с фонов цвят, зададен в дейността.
Тема:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme"
parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MyActionBar</item>
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<!-- ActionBar styles -->
<style name="MyActionBar"
parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:icon">@drawable/logo</item>
<item name="android:background">#F7430C</item>
</style>
Activity setting background:
public class MainActivity extends ActionBarActivity {
private ActionBar bar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
Всичко, от което се нуждая, е лента за действие с логото и фонов цвят #F7430C.
getActionBar().setIcon(R.drawable.ic_launcher);
в методаonCreate()
? и какво еminSdkVersion
на вашето приложение? - person Apurva   schedule 23.02.2015