Stavo usando il seguente codice sulla mia applicazione per impostare la mia icona di casa ad una specifica drawable:Posso impostare l'icona home della mia barra delle azioni usando styles.xml?
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setIcon(R.drawable.ic_menu);
getSupportActionBar().setDisplayShowTitleEnabled(false);
Ma ho avuto problemi con il "ritardo" tra "la creazione della vista arredamento e la mia onCreate esecuzione", come spiegato qui da Jake Wharton: ActionBar Lag in hiding title
sul link qui sopra la soluzione era quella di creare un nuovo stile, e dichiarare nel manifesto, e così ho fatto:
<resources>
<style name="AppTheme" parent="android:Theme.Light" />
<style name="WATheme" parent="Theme.Sherlock.Light">
<item name="android:actionBarStyle">@style/WATheme.ActionBar</item>
<item name="actionBarStyle">@style/WATheme.ActionBar</item>
</style>
<style name="WATheme.ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid">
<item name="android:displayOptions">homeAsUp|showHome</item>
<item name="displayOptions">homeAsUp|showHome</item>
</style>
</resources>
manifesto:
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:theme="@style/WATheme"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Si sta lavorando bene, ho il mio tasto home con un massimo di configurazione, ma ho ancora voglia di cambiare l'icona a un'altra drawable specifica, solo in questa attività, senza dover modificare qualsiasi android:icon
nel manifesto. Come posso ottenerlo?
Spero sia stato abbastanza chiaro. Grazie.
Grazie, RenanFerrari. Proprio quello che stavo cercando. – BruceHill