Update: Neuestes ActionBar (Titel) Muster:
Zu Ihrer Information , ActionBar wurde in API Level 11 eingeführt. ActionBar ist eine Fensterfunktion am oberen Rand der Aktivität, die den Aktivitätstitel , die Navigationsmodi und andere interaktive Elemente wie die Suche anzeigen kann .
Ich erinnere mich genau daran, wie ich die Titelleiste angepasst und durch die Anwendung konsistent gemacht habe. So kann ich einen Vergleich mit den früheren Tagen anstellen und einige der Vorteile der Verwendung von ActionBar auflisten:
- Es bietet Ihren Benutzern eine vertraute Benutzeroberfläche für alle Anwendungen, die das System problemlos an verschiedene Bildschirmkonfigurationen anpasst.
- Entwickler müssen nicht viel Code schreiben, um den Aktivitätstitel, die Symbole und den Navigationsmodus anzuzeigen, da ActionBar bereits mit der Abstraktion der obersten Ebene ausgestattet ist.
Beispielsweise:
=> Normaler Weg,
getActionBar().setTitle("Hello world App");
getSupportActionBar().setTitle("Hello world App"); // provide compatibility to all the versions
=> Aktionsleiste anpassen,
Beispielsweise:
@Override
public void setActionBar(String heading) {
// TODO Auto-generated method stub
com.actionbarsherlock.app.ActionBar actionBar = getSupportActionBar();
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.title_bar_gray)));
actionBar.setTitle(heading);
actionBar.show();
}
Styling der Aktionsleiste:
Die ActionBar bietet Ihnen grundlegende und vertraute Looks, Navigationsmodi und andere schnelle Aktionen. Das heißt aber nicht, dass es in jeder App gleich aussieht. Sie können es gemäß Ihren Benutzeroberflächen- und Designanforderungen anpassen. Sie müssen nur Stile und Themen definieren und schreiben.
Lesen Sie mehr unter: Styling der Aktionsleiste
Und wenn Sie Stile für ActionBar erzeugen wollen , dann dieses Style - Generator kann Tool Ihnen helfen.
================================================== ===============================
Alt: Frühere Tage:
=> Normaler Weg,
Sie können den Titel jedes Bildschirms (dh der Aktivität) ändern, indem Sie deren festlegen Android:label
<activity android:name=".Hello_World"
android:label="This is the Hello World Application">
</activity>
=> Benutzerdefiniert - Titelleiste
Wenn Sie jedoch die Titelleiste auf Ihre eigene Weise anpassen möchten, dh Want to put Image icon and custom-text
, funktioniert der folgende Code für mich:
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
titlebar.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="400dp"
android:layout_height="fill_parent"
android:orientation="horizontal">
<ImageView android:id="@+id/ImageView01"
android:layout_width="57dp"
android:layout_height="wrap_content"
android:background="@drawable/icon1"/>
<TextView
android:id="@+id/myTitle"
android:text="This is my new title"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="@color/titletextcolor"
/>
</LinearLayout>
TitleBar.java
public class TitleBar extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final boolean customTitleSupported =
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
if (customTitleSupported) {
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
R.layout.titlebar);
}
final TextView myTitleText = (TextView) findViewById(R.id.myTitle);
if (myTitleText != null) {
myTitleText.setText("NEW TITLE");
// user can also set color using "Color" and then
// "Color value constant"
// myTitleText.setBackgroundColor(Color.GREEN);
}
}
}
string.xml
Die Datei strings.xml wird unter dem values
Ordner definiert .
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, Set_Text_TitleBar!</string>
<string name="app_name">Set_Text_TitleBar</string>
<color name="titlebackgroundcolor">#3232CD</color>
<color name="titletextcolor">#FFFF00</color>
</resources>