1

上記の8からのAPIと互換性があるはずのアプリケーションを開発しています。API>=11 のバージョンでは、ActionBar のタイトルにテキストを表示し、API<11 の場合、テキストは TitleBar に表示されます。これは Android によって自動的に処理されます。

API が 11 以上の場合、ActionBar アイコンを削除して、テキスト用のスペースを増やしたいと考えています。getActionBar()しかし、Eclipse では、最低限の API (8) が低すぎると言って電話をかけさせてくれません。

どうすればそれをバイパスできますか?

4

2 に答える 2

6

すべての ActionBar 呼び出しを次のようにラップできます。

if (android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.HONEYCOMB) {
  // call something for API Level 11+
}

発生しているエラーは Lint 警告である可能性が高く、設定に移動してそのレベルを警告に下げることができるはずです。これにより、コードは引き続きコンパイルされます。

さらに、ActionBarSherlock を使用して、API 11 より前のデバイスでActionBarを取得することを検討できます。

于 2013-04-10T12:14:00.817 に答える
2

Android のバージョンは次の方法で確認できます。

 if (android.os.Build.VERSION.SDK_INT < 11) 
 {
      //your code
 }

しかし、実際には、このAndroid サポート パッケージを Google 自体で使用して、下位バージョンの機能をサポートすることをお勧めします。見てみな

于 2013-04-10T12:24:27.360 に答える