Per ottenere un aspetto Foursquare non è necessario pensare di creare un layout sopra le schede. Quando si utilizza ActionBar Sherlock avete solo bisogno di preoccuparsi:
- Fare uno sfondo per la barra in alto
- Fare un logo per la barra superiore
- Aggiunta di elementi in un file menu.xml che ActionBarSherlock utilizzerà per compilare la parte superiore con i pulsanti (purché uno stile che utilizza lo stile Actionbar Sherlock sia associato all'attività).
Così, per 1. e 2. è tutto su come utilizzare il file styles.xml (deve risiedere nella cartella valori nelle cartella res) in questo modo:
<style name="Theme.Example" parent="Theme.Sherlock">
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
<item name="absForceOverflow">true</item>
</style>
<style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.ActionBar.Solid">
<item name="background">@drawable/actionbar_background</item> <-- the background for top bar
<item name="icon">@drawable/actionbar_logo</item> <-- the logo that goes top left in the top bar
<item name="backgroundSplit">@drawable/bg_striped_split</item> <-- the image used between the menu items
</style>
Per 3. tutto ciò che serve fare è creare voci di menu sotto menu.xml (dovrebbe risiedere nella cartella del menu (se non c'è, creare uno nella cartella res)):
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_prefs"
android:icon="@drawable/settings_icon"
android:title="Preferences"
android:showAsAction="ifRoom" />
</menu>
l'ultima cosa che dovete fare per vedere le voci di menu è utilizzare queste funzioni nell'attività:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
public boolean onOptionsItemSelected (MenuItem item) {
Intent intent;
switch (item.getItemId())
{
case R.id.menu_prefs:
// Launch Preference Activity
intent = new Intent(getBaseContext(), Preferences.class);
startActivity(intent);
break;
}
return false;
}
fonte
2012-07-10 12:29:11
Potresti fornirci una schermata di stampa dell'app Foursquare? – ninetwozero
Ho aggiunto la ps di foursquare. – BCK
Sono abbastanza sicuro che usano un'implementazione personale della barra e non stanno usando ActionBarSherlock. –