ActionBarSherlock バージョン 4.1.0.0 をダウンロードし、Win7 Java 1.6 update 24 マシンの Eclipse 4.2 に Android プロジェクト ライブラリを追加しました。Project | Android 4.1 の Eclipse プロジェクト ビルド ターゲットを使用しました。プロパティ | プロジェクトのビルド ターゲット。minSdkVersion="7" を持つ既存のアプリに ActionBar 機能を組み込みたいと考えています。ActionBarSherlock ライブラリのコードには、非推奨のメソッドとエラーが含まれているようです。
例 1: ActionBarContainer.java、ActionBarContextView.java、ScrollingTabContainerView.java - setBackgroundDrawable を使用 - タイプ View のメソッド setBackgroundDrawable(Drawable) は非推奨
public ActionBarContainer(Context context, AttributeSet attrs) {
super(context, attrs);
setBackgroundDrawable(null);
TypedArray a = context.obtainStyledAttributes(attrs,
R.styleable.SherlockActionBar);
mBackground = a.getDrawable(R.styleable.SherlockActionBar_background);
mStackedBackground = a.getDrawable(
R.styleable.SherlockActionBar_backgroundStacked);
if (getId() == R.id.abs__split_action_bar) {
mIsSplit = true;
mSplitBackground = a.getDrawable(
R.styleable.SherlockActionBar_backgroundSplit);
}
a.recycle();
setWillNotDraw(mIsSplit ? mSplitBackground == null :
mBackground == null && mStackedBackground == null);
}
クイック フィックスは、ActionBarContainer に @SupressWarnings 'deprecation' を追加すると表示されます
例 2: IcsProgressBar.java は、非推奨として表示される animationResolution を使用します。上記と同じクイック フィックスです。
private static final int[] ProgressBar = new int[] {
...
android.R.attr.animationResolution
また、ActivityChooserView.java にエラーがあります。
private static class SetActivated {
public static void invoke(View view, boolean activated) {
view.setActivated(activated);
}
}
エラーは SetActivated にあります - 呼び出しには API 11 が必要です (現在の最小値は 7)。これは、マニフェストに基づいて理にかなっています。
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="15"/>
Action Bar Sherlock は Andriod 2.x で動作するはずなので、API 7 で問題ないのでしょうか? 他の人がこれを経験したことがありますか? もしそうなら、推奨されるアクションは何ですか? 非推奨を抑制/無視しますか? SetActivated のエラーはどうですか? readme を確認し、ネット検索をいくつか行いましたが、これについては何も思いつきませんでした。提案をありがとう。
ありがとう!