Ich bin ein Neuling für Android und ich fragte mich, ob jemand mich über die Verwendung der Aktionsleiste in allen meinen Android-Aktivitäten führen könnte. Soweit ich es untersucht habe, habe ich herausgefunden, dass wir eine BaseActivity-Klasse erstellen und sie in unserer Aktivität erweitern müssen, wo wir sie wiederverwenden wollen. Außerdem müssen wir ein XML-Layout erstellen und es in unsere Aktivitäts-XML-Datei aufnehmen. Ich bin mit dem BaseActivity-Teil fertig. Jetzt bin ich irgendwie verwirrt, wenn ich den XML-Teil umrahme und ihn einfüge. Ich weiß, wie man ein Layout zusammenfügt und einfügt, aber im Falle einer Aktionsleiste, welche notwendigen Schritte unternommen werden müssen. Jede Hilfe wäre willkommen.Wiederverwendung der Aktionsleiste in allen Aktivitäten der App
Das ist mein BaseMenuActivity:
public class BaseMenuActivity extends Activity{
ActionBar actionBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setIcon(R.drawable.ic_social_share);
LayoutInflater inflator = (LayoutInflater) this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflator.inflate(R.layout.apptitle, null);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setCustomView(v);
}
}
Manifest Teil für das gleiche:
<activity
android:name="com.example.travelplanner.MenuActivity"
android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden"
android:uiOptions="splitActionBarWhenNarrow"
android:label="WeTrip"
android:theme="@style/MyTheme" >
Style.xml Teil:
<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">#F0F1F1</item>
<item name="android:backgroundSplit">#000000</item>
</style>
MenuActivity.java
public class MenuActivity extends BaseMenuActivity implements OnItemClickListener{
ActionBar actionBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_menu);
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu, menu);
SearchView searchView = (SearchView) menu.findItem(R.id.menu_action_search).getActionView();
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch(item.getItemId()){
case R.id.menu_action_search:
{}
case R.id.menu_action_locate:
{}
case R.id.menu_action_mail:
{}
case R.id.menu_action_call:
{}
}
return super.onOptionsItemSelected(item);
}
}
also, wenn ich Sie richtig verstehe, wollen Sie nur die gleiche actionbar durch Ihre App? – tyczj
ja..aber ich weiß nicht, wie man es richtig erreicht. Weil ich weiß, dass ich eine BaseActivity-Klasse machen muss und sie erweitern muss, und auch ich muss eine XML-Datei erstellen und sie in jeder Aktivität einschließen, die ich die gleiche actionbar anzeigen möchte .. aber ich brauche eine Anleitung darauf – divyang7
können Sie Legen Sie einfach das Thema der Anwendung in Ihrem Manifest fest, und Sie müssen es nicht für jede einzelne Aktivität in Ihrem Manifest festlegen. Sie müssen es jedoch in jeder Aktivität sehen. Wenn Sie das nicht tun wollen, schlage ich vor, anstelle von Aktivitäten die Fragmente zu wechseln. – tyczj