AndroidアプリケーションにSherlockActionBarを実装していますが、Honeycomb以前のデバイスとの下位互換性を維持したいと考えています。
これはサンプルコードです:
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) {
}
}
4.0デバイスの場合、これは完全に機能しますが、Honeycombの場合は機能しません-次のエラーが発生します。
E / AndroidRuntime(2363):原因:java.lang.IllegalStateException:Theme.Sherlock、Theme.Sherlock.Light、Theme.Sherlock.Light.DarkActionBar、またはその派生物を使用する必要があります。
マニフェストで私はそれらを確立しようとしましたが、それは提案されたリストにありません、そして私がそれを書いた場合、私はまだエラーを受け取ります。
Honeycombデバイスのバーを設定するにはどうすればよいですか?
よろしくお願いします!