martes, 22 de julio de 2014

Android: Custom action bar

Using sherlock:

Manifest
<resources xmlns:android="http://schemas.android.com/apk/res/android">

    <style name="AppTheme" parent="Theme.Sherlock.Light.DarkActionBar">
</resources>

Activity
public class AbstractActivity extends SherlockActivity {
...
public BaseActivity(boolean hasMenuItemInActionBar) {
 super();
  
 this.hasMenuItemInActionBar = hasMenuItemInActionBar;
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

 if (this.getSupportActionBar() != null) {
  this.getSupportActionBar().setDisplayHomeAsUpEnabled(false);
  this.getSupportActionBar().setDisplayShowHomeEnabled(false);
  this.getSupportActionBar().setDisplayUseLogoEnabled(false);
  this.getSupportActionBar().setDisplayShowCustomEnabled(true);
  this.getSupportActionBar().setCustomView(R.layout.actionbar_custom);
   
  setTitle(this.getTitle());
 }
}
...
}

Using appcompat


Manifest
<resources xmlns:android="http://schemas.android.com/apk/res/android">

    <style name="AppTheme" parent="@style/Theme.AppCompat.Light">
</resources>

Activity
public class AbstractActivity extends ActionBarActivity{
...
public BaseActivity(boolean hasMenuItemInActionBar) {
 super();
  
 this.hasMenuItemInActionBar = hasMenuItemInActionBar;
}

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

 if (this.getSupportActionBar() != null) {
  this.getSupportActionBar().setDisplayHomeAsUpEnabled(false);
  this.getSupportActionBar().setDisplayShowHomeEnabled(false);
  this.getSupportActionBar().setDisplayUseLogoEnabled(false);
  this.getSupportActionBar().setDisplayShowCustomEnabled(true);
  this.getSupportActionBar().setCustomView(R.layout.actionbar_custom);
   
  setTitle(this.getTitle());
 }
}
...
}

No hay comentarios:

Publicar un comentario