Это довольно просто, но это причиняло мне горе. Я хочу, чтобы на моей панели действий отображался ресурс @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