Das ist so ziemlich so nah wie Sie, wenn Sie die ActionBar
APIs verwenden bekommen möchten. Ich bin mir nicht sicher, ob Sie einen Farbstreifen über die ActionBar
platzieren können, ohne etwas seltsames Window
Hacken zu tun, es lohnt sich nicht. Soweit das Ändern der MenuItems
geht, können Sie diese enger über einen Stil machen. Es wäre so, aber ich habe es nicht getestet.
<style name="MyTheme" parent="android:Theme.Holo.Light">
<item name="actionButtonStyle">@style/MyActionButtonStyle</item>
</style>
<style name="MyActionButtonStyle" parent="Widget.ActionButton">
<item name="android:minWidth">28dip</item>
</style>
Hier ist, wie das benutzerdefinierte Layout Ihrer ActionBar
aufzublasen und hinzuzufügen.
// Inflate your custom layout
final ViewGroup actionBarLayout = (ViewGroup) getLayoutInflater().inflate(
R.layout.action_bar,
null);
// Set up your ActionBar
final ActionBar actionBar = getActionBar();
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setCustomView(actionBarLayout);
// You customization
final int actionBarColor = getResources().getColor(R.color.action_bar);
actionBar.setBackgroundDrawable(new ColorDrawable(actionBarColor));
final Button actionBarTitle = (Button) findViewById(R.id.action_bar_title);
actionBarTitle.setText("Index(2)");
final Button actionBarSent = (Button) findViewById(R.id.action_bar_sent);
actionBarSent.setText("Sent");
final Button actionBarStaff = (Button) findViewById(R.id.action_bar_staff);
actionBarStaff.setText("Staff");
final Button actionBarLocations = (Button) findViewById(R.id.action_bar_locations);
actionBarLocations.setText("HIPPA Locations");
Hier ist das benutzerdefinierte Layout:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:enabled="false"
android:orientation="horizontal"
android:paddingEnd="8dip" >
<Button
android:id="@+id/action_bar_title"
style="@style/ActionBarButtonWhite" />
<Button
android:id="@+id/action_bar_sent"
style="@style/ActionBarButtonOffWhite" />
<Button
android:id="@+id/action_bar_staff"
style="@style/ActionBarButtonOffWhite" />
<Button
android:id="@+id/action_bar_locations"
style="@style/ActionBarButtonOffWhite" />
</LinearLayout>
Hier ist das Farbstreifenlayout: es verwenden zu können, benutzen Sie einfach merge
in welchem Layout, das Sie in setContentView
aufzuzublasen.
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="@dimen/colorstrip"
android:background="@android:color/holo_blue_dark" />
Hier sind die Button
Stile:
<style name="ActionBarButton">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">@null</item>
<item name="android:ellipsize">end</item>
<item name="android:singleLine">true</item>
<item name="android:textSize">@dimen/text_size_small</item>
</style>
<style name="ActionBarButtonWhite" parent="@style/ActionBarButton">
<item name="android:textColor">@color/white</item>
</style>
<style name="ActionBarButtonOffWhite" parent="@style/ActionBarButton">
<item name="android:textColor">@color/off_white</item>
</style>
die Farben und Dimensionen Hier I verwendet:
<color name="action_bar">#ff0d0d0d</color>
<color name="white">#ffffffff</color>
<color name="off_white">#99ffffff</color>
<!-- Text sizes -->
<dimen name="text_size_small">14.0sp</dimen>
<dimen name="text_size_medium">16.0sp</dimen>
<!-- ActionBar color strip -->
<dimen name="colorstrip">5dp</dimen>
Wenn Sie es mehr als diese anpassen möchten , können Sie in Betracht ziehen, die ActionBar
überhaupt nicht zu verwenden, aber ich würde das nicht empfehlen.Sie können auch durch die Android Design Guidelines betrachten Lesen eine bessere Vorstellung davon zu bekommen, wie Sie Ihre ActionBar.
entwerfen Wenn Sie die ActionBar
und Ihr eigenes Layout verzichten wählen verwenden, stattdessen sollten Sie sicher sein aktions Lage Toasts
, wenn Benutzer lange hinzufügen Drücke auf "MenuItems". Dies kann leicht erreicht werden using this Gist.
Überprüfen Sie diese Bibliothek gibt es viele Beispiele zur Verfügung: http://actionbarsherlock.com/ –