ActionBarCombat を使用して、さまざまな OS バージョン間で互換性のある ActionBar を用意しました。すべて正常に動作しますが、アクション バーをタブレットにのみ表示したいと考えています。
Build.VERSION.SDK_INT
デバイスの画面サイズ ( ) に基づいsize >=7 inch
て、デバイスがタブレットであると判断しています。
public class BaseActivity extends Activity {
//........
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB
&& isTablet()) {
Log.d(Constants.LOG_TAG, "OK - display ActionBar");
ActionBarHelper.createInstance(this);
} else {
Log.d(Constants.LOG_TAG, "Do not display ActionBar: SDK_INT: "
+ Build.VERSION.SDK_INT); //
}
//......
}
問題は、デバイスがタブレットでない場合 (そのため、ActionBarHelper.createInstance(this);
が呼び出されない場合でも、アクション バーが引き続き表示されることです。その理由がわかりません。
しかし、私は一つのことに気付きました。main.xml レイアウト ファイルをグラフィカル モードで開くと、上部にアクション バーが表示されますが、レイアウト ファイルをソース モードで開くと表示されません。
ActionBarCombat を非表示にする方法を知っていますか? ありがとうございました。