Support PackageとActionBarShellockの使用心得


ActionBarとViewPagerが登場した後、Androidプログラムのcoolが多くなった.簡単に言えば、ViewPagerは指を横にスクリーンを切ってシーンを切り替えることを実現するのが簡単になり、このような切り替え方はタッチスクリーンで直感によく合っており、buttonとtabの体験にはるかに勝っている.ActionBarは、エンティティmenuボタンがない場合や画面サイズが大きい場合に、より直接的で迅速な一般的な機能アクセス方法を提供しています.
ViewPagerがない前に、各ルートの神様はいろいろな方法を使ってスムーズなビュー切り替えを試みました.現在、ViewPagerはSupport Packageに入り、Googleの公式サポートを受けています.もちろん、Support Packageには、Honeycomb(Android 3.0.x;API Level 11)を使用する前の開発者のために用意されたFragmentなど、大きなものがあります.しかし、Support Packageには現在ActionBarが含まれていないため、android-actionbar、GreenDroid、今日書くActionBarSherlockなど、オープンソースのActionBar実装もネット上に登場しています.
ActionBarShellockには、Support Packageが内蔵されているので、自分のプログラムでSupport Packageを再参照する必要はありません.すでに参照している場合は、削除する必要があります.ActionBarShellockはAndroid 3.2 SDK(API Level 13)を使用してコンパイルする必要があります.あなたのプログラムも少なくともAPI Level 13をコンパイルする必要がありますが、コンパイルしたプログラムは2.3のシステム上を走り、低バージョンのシステム上でActionBarとViewPagerを実現することができます.
ActionBarShellockの現在の最新バージョンはv 3である.4.2、ダウンロードしてE:2 ndboyAndroidActionBarShellockにリリースするとします.ActionBarShellockはjarパッケージのダウンロードを提供しません.jarの形式で使用できないリソースが含まれているため、libraryに個別にコンパイルした後に使用するプログラムリファレンスが必要です.
リリース後、Eclipse、メニューFile、New、Project....Androidの下にあるAndroidプロジェクト、Nextを選択します.次に、「New Android Project」ダイアログ・ボックスで「Create project from existing source」を選択します.Project Name ActionBarSherlockを入力します.LocationではE:2 ndboyAndroidActionBarSherlocklibrary,Nextを使用します.Select Build TargetダイアログボックスでAndroid 3.2(API Level 13)、Finishを選択します.
もしAndroidManifestが見つからなかったらxmlのエラーは、E:2 ndboyAndroidActionBarShellockを名前変更してみることができます.エラーの原因は、EclipseがActionBarShellockの下でprojectを作成しようとしているためです(私たちが指定したProject NameもActionBarShellockと呼ばれているためです).ActionBarShellocklibraryではありません.
「Description Resource Path Location Type The method add(CharSequence)of type Menu must override a superclass method Menu.java/ActionBarSherlock/src/android/support/v 4/view line 5 Java Problem」のようなエラーがたくさん見られた場合、Project PropertiesでJava CompilerのCompiler compliance levelを1.6に変更する必要があるかもしれません.
以上、ActionBarSherlockライブラリを用意しました.次にAndroid Projectを新規作成し、Select Build TargetでAndroid 3.2または更新バージョンを選択します.Application Infoでは、Minim SDKが4(Android 1.6)など、必要な最低バージョンを指定します.
新しいプロジェクトができたら、ActionBarShellockをこのプロジェクトに導入し、このappがSupport PackageとActionBarをサポートできるようにします.Project Properties,Android.LibraryでAdd...、ActionBarShellockを選択します(この場合、ActionBarsherlockはworkspaceの中にあり、開いている必要があります)、Ok.
追加後、R classが生成されていないことを発見した場合(R cannot be resolved to a variableを提示)、同時に新工事で引用されたAndroid SDKがAndroid 3.2より低いことに気づいた場合は、Project Properties,Androidに入り、Project Build TargetでAndroid 3.2以上を選択し、修正が完了したらClose Projectを再オープンしたほうがよい.
以上がActionBarShelllockをコンパイルして自分のプロジェクトに統合する全過程で、私のこのAndroid菜鳥は半日模索してやっと完成して、容易ではありません:D次は簡単にcode部分を紹介します.
ActionBarを使用するActivityはFragmentActivityから継承する必要があり、AndroidManifast.xmlでActivityのthemeを指定します.例は次のとおりです.
<activity
     android:label="@string/app_name"
     android:name=".2ndboy"
     android:theme="@style/Theme.Sherlock" >

ActionBarインスタンスを取得するには、getActionBar()ではなくgetSupportActionBar()を使用します.ActionBarShellockはすでにSupport Packageを持っているので、これ以上導入する必要がなく、View PagerとFragmentを直接使用することができます.ActionBarにはtabを追加して、ViewPagerのswipeと連動することができます.また、Android-ViewPagerIndicatorも、ViewPagerの様々なインジケータ効果を実現するために参考になる良いオープンソースライブラリです.
記事の出典:http://blog.2ndboy.net/support_package_and_actionbarsherlock_tips/
ActionBarShellock公式ダウンロード:http://actionbarsherlock.com/ダウンロードが完了すると、上記の方法でlibraryを自分のプロジェクトにインポートすることができ、ダウンロードしたパッケージにもプロジェクトsamplesの例があり、比較的直感的に学ぶことができます.