'un tüm aktivitelerinde Action Bar'ı yeniden kullanıyorum Android için yeni bir kullanıcıyım ve birisinin tüm android aktivitelerimde aksiyon çubuğunu yeniden kullanma konusunda bana rehberlik edip edemeyeceğini merak ediyorum. Keşfettiğim kadarıyla, bir BaseActivity sınıfı oluşturmamız gerektiğini ve onu yeniden kullanmak istediğimiz Aktivitemizde genişletmemizi ve xml düzenini yapıp onu xml dosyanızın içine eklememiz gerektiğini öğrendim. BaseActivity bölümüyle bitirdim. Şimdi xml parçasını çerçevelemek ve buna dahil olmak üzere kafam karıştı. Bir mizanpajın nasıl birleştirileceğini ve dahil edileceğini biliyorum, ancak Eylem Çubuğu söz konusu olduğunda gerekli adımlar atılacak. Herhangi bir yardım takdir edilecektir. Aynı içinApp
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 kısmı::
<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 kısmı:
<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);
}
}
Bu
benim BaseMenuActivity olduğunu
bu yüzden doğru bir şekilde anladığımda, uygulamanızla aynı eylem çubuğuna sahip olmak istersiniz? – tyczj
evet .. ama doğru şekilde nasıl başaracağımı bilmiyorum. Çünkü bir BaseActivity sınıfı yapmam gerektiğini ve bunu genişletmek zorunda olduğumu bildiğimden, aynı zamanda bir xml dosyası oluşturup aynı eylem çubuğunu görüntülemek istediğim her etkinliğe dahil etmeliyim .. ama bu konuda biraz bilgiye ihtiyacım var – divyang7
Sadece uygulama temasını kendi manifest'inize yerleştirin, böylece manifestinizdeki her bireysel etkinlik için bunu ayarlamanız gerekmez. Bununla birlikte, her bir aktivitede görüşü vermeniz gerekecektir. Bunu yapmak istemiyorsanız, o zaman aktiviteler yerine fragmanları değiştirmeyi öneririm – tyczj