Я новичок в Android, и мне было интересно, может ли кто-нибудь рассказать мне, как повторно использовать панель действий во всех моих действиях Android. Насколько я изучил, я обнаружил, что нам нужно создать класс BaseActivity и расширить его в нашей деятельности, где мы хотим его повторно использовать, а также мы должны создать макет xml и включить его в наш XML-файл активности. Я закончил с частью BaseActivity. Теперь я немного запутался в создании части xml и включении ее. Я знаю, как объединить и включить макет, но в случае с панелью действий, какие необходимые шаги необходимо предпринять. Любая помощь будет оценена по достоинству.
Это моя 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);
}
}
Часть манифеста для того же самого:
<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:
<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);
}
}
android:theme="@style/MyTheme"
, тогда все ваше приложение будет использовать эту тему - person tyczj   schedule 26.07.2013