J'implémente le SherlockActionBar pour une application Android, mais je veux maintenir une rétrocompatibilité avec les appareils pré Honeycomb.ActionBarSherlock et les appareils Android 3.0 antérieurs
C'est l'exemple de code:
package com.sherlockbar.example;
import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.widget.TextView;
import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.ActionBar.Tab;
import com.actionbarsherlock.app.SherlockActivity;
public class SherlockExampleActivity extends SherlockActivity implements ActionBar.TabListener {
private TextView mSelected;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tab_navigation);
mSelected = (TextView) findViewById(R.id.text);
getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
for (int i = 1; i <= 3; i++) {
ActionBar.Tab tab = getSupportActionBar().newTab();
tab.setText("Tab " + i);
tab.setTabListener(this);
getSupportActionBar().addTab(tab);
}
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction transaction) {
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction transaction) {
mSelected.setText("Selected: " + tab.getText());
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction transaction) {
}
}
Pour 4.0 appareils cela fonctionne parfaitement, mais pour Honeycomb il ne fonctionne pas -I obtenir l'erreur suivante:
E/AndroidRuntime(2363): Caused by: java.lang.IllegalStateException: You must use Theme.Sherlock, Theme.Sherlock.Light, Theme.Sherlock.Light.DarkActionBar, or a derivative.
Dans le manifeste, je essayé d'établir que eux, mais ce n'est pas dans la liste suggérée, plus si je l'écris, je reçois toujours l'erreur.
Comment régler la barre pour les appareils Honeycomb, s'il vous plaît?
Merci beaucoup d'avance!
Affichez votre manifeste sur l'un des thèmes Sherlock configurés. – CommonsWare
@CommonsWare c'est ce que j'ai: –
noloman
Vous devriez ne pas avoir cette erreur plus avec ce manifeste. Voici un petit exemple de projet utilisant ActionBarSherlock: https://github.com/commonsguy/cw-omnibus/tree/master/ActionBar/ActionBarDemo Notez que vous devrez joindre votre propre copie d'ABS en tant que projet de bibliothèque. – CommonsWare