1

さらに別の互換性の問題。

問題

tabbed action barを切り替えるには、API レベル 3.0 以降を使用する必要がありますfragmentsfragmentsただし、 API レベル < 3.0 で何らかの方法でこれらを切り替えることもできる必要があります。

作業中のスパナは、使用できるカスタム互換ライブラリを既にダウンロードしているため、ライブラリを使用できないという事実google mapsですfragments

質問

ActionBar3.0 以降でタブ付きソリューションを実装し、3.0 以下のより大きな市場にも対応するにはどうすればよいですか?

どんな助けも素晴らしいでしょう。

4

3 に答える 3

3

あなたが欲しいのはActionBarSherlockです。API >= 3 のネイティブ アクション バーを使用し、API レベル 2.x の下位互換性を提供します。Action Bar Compatibility サンプル プロジェクト (SupportAppNavigation としてリストされていると思います) もあります。これは本質的に同じことだと思います。

于 2012-08-06T15:24:24.053 に答える
1

それで、私は少し前に解決策を見つけることができました。ここに投稿するのに少し時間がかかりました.

これは私のために働く解決策です。ActionBar を使用する必要がありましたが、MapActivity と FragmentActivity も使用する必要があったため、ActionBarSherlock を使用できませんでした。

私がしたことは次のとおりです。

  • 自身をリスナーとして追加することで CCTab のタッチを処理する CCActionBar というフラグメントを作成しました (以下で説明)。また、実行時にタブを参照するだけで、タブと画像が配置された action barlayout と呼ばれるレイアウトを拡張します。

  • アクション バーのタブを表す CCTab というカスタム ビューを作成しました。タッチされると、リスナー (CCActionBar) にタッチされたことを伝えます。

  • 私のメイン レイアウト xml ファイルには、API レベルに応じて実行時に表示または非表示にするアクション バー コンテナーがあります。

  • OnCreate メソッドのメイン アクティビティで、API レベルが 3.0 より大きいかどうかを確認します。その場合は、標準の ActionBar を実装して、カスタム アクション バー コンテナーが非表示になるようにします。そうでない場合は、カスタム アクション バーを設定し、xml レイアウトのアクション バー コンテナーが表示されるようにします。

    • 次に、いずれかの方法を使用しているときにタブが押されたときに同じ方法で処理されるようにします。そのため、セットアップが完了したら、別の方法で処理する必要はありません。

これがどこかで誰かに役立つことを願っています.

于 2012-09-14T14:46:58.587 に答える
0

私がお勧めするのは、ActionBarSherlockを使用して、タブ付きのアクション バー機能を取得することです。

MapViewでのサポートも必要だと思いますFragment。このために、フラグメント(ハニカム)のMapViewからのソリューションをお勧め します(サンプルコードでuser1414726の回答を見てください)。

deprecated を使用していますが、ライブラリを使用するよりも良い解決策だと思いますLocalActivityMangerActivityしかし、私の意見では、すべてがサブクラスであり、使用していると思われるライブラリを使用するよりも良い考えですMapViewActivity

于 2012-08-06T15:35:04.590 に答える