問題タブ [android-compatibility]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2171 参照

android - Android、サポート ライブラリを使用しない場合の DrawerLayout の同等クラスは何ですか?

SDK の最小バージョンは 14 であるため、アプリケーションにサポート ライブラリを追加したくありません。DrawerLayoutページでのAndroid の説明に基づいて、このビュー グループはサポート ライブラリ ( android.support.v4.widget) で定義されます。

DrawerLayoutサポート ライブラリを追加しない場合と同等のクラスはありますか? ありがとう。

0 投票する
1 に答える
332 参照

android - SDK_INT を十分にチェックしていますか、それとも新しい Android API を使用するために遅延読み込みが必要ですか? なんで?

次のようなコード:

Froyo で警告を生成します。

04-27 03:40:35.025: W/dalvikvm(3138): VFY: インターフェイス メソッド 219 を解決できません: Landroid/content/SharedPreferences$Editor;.apply ()V

ただし、古いデバイスでは、これはアプリケーションを中止する RuntimeError になることを理解しています (こちらこちらを参照)。

API 8 (Froyo) 以降で条件付きで新しい API (メソッド) を呼び出すこの方法は安全ですか、それとも遅延読み込みがまだ必要な場合がありますか?

これを可能にした Dalvik の変更点は何ですか?

関連している

0 投票する
1 に答える
1706 参照

android - API 10 でのフラグメントのサポートの追加

最近minSdkVersion="14"までTheme.AppCompat. コードに問題があります。最初の 1 つは、多くのフラグメントを使用していることです。

私のアプリに表示される最初のフラグメントは次のとおりです。

これは、拡張するアクティビティ内の単なる内部クラスDialogFragmentです。API 10 でこれを機能させるにはどうすればよいですか? それを変更するとandroid.support.v4.app.DialogFragment(Android Studioを使用して)エラーが取り除かれるように見えますが、1つの内部クラス(DialogFragmentsがある)で使用すると両方でエラーが取り除かれるため、奇妙です。何故ですか?

また、すべてのFragment拡張クラスをandroid.support.v4.app.Fragment, .DialogFragment, .ListFragment... に変更すると、より高い API でアプリを実行した場合、19 としましょう。アプリは互換性ライブラリを使用しますか、それともその API のクラスを使用することを知っていますか? そして、違いはありますか?

0 投票する
2 に答える
1979 参照

android - Maven を使用した Eclipse および Android: java.lang.ClassNotFoundException でアクティビティ ComponentInfo をインスタンス化できません

Eclipse には 1 つの問題があります。

Maven で構成された android プロジェクトがあります。子プロジェクトの pom.xml は次のとおりです (すべてのバージョン管理構成は親 pom.xml から移動されました)。

また、ライブラリとしてワークスペースにインポートされた Mavenized compatibility-v7-appcompat プロジェクトもあります。このプロジェクトはワークスペースにコピーされ (他の場所のライブラリに問題があるため)、私の maven プロジェクト (プロパティ -> Android -> ライブラリ) にインポートされました。

1 つのアクティビティがあります。

アプリケーションをデバッグしようとすると、エラーが発生しました。

私は他の質問からすべてを試しました。両方のプロジェクトのビルド パスでオーダーとエクスポートを行いますが、まだ何もありません (ここから Eclipse を使用してリソースを含むライブラリを追加します: http://developer.android.com/tools/support-library/setup.html )

に変更すると

AndroidManifest に AppCompat スタイルを残しても、正常に動作します。

さらに、アプリがデバイスに読み込まれるとエラーが発生します。

このプロジェクトには、Android プロパティに「Is Library」チェックボックスが設定されています。

プロジェクトは次のようになります。 事業

助けていただければ幸いです:)

0 投票する
2 に答える
88 参照

android - 以下の Android バージョンの互換モードを実行するにはどうすればよいですか?

Android アプリケーションを開発しています。アプリでアクションバーを使用していますが、Android スマートフォン (2.2.3) がクラッシュして動作しません。解決策を教えてください。

0 投票する
3 に答える
718 参照

android - SDK 17 と 18 の間でのリスト アイテム レイアウト動作の変更を回避する方法を教えてください。

SDK 17 と SDK 18 の間で RelativeLayout にラップされたときの LinearLayout の動作の変化を説明するために、簡単なアプリを作成しました。まず、スクリーンショット:

targetSdkVersion が「17」の場合:

ここに画像の説明を入力

targetSdkVersion が「18」の場合:

ここに画像の説明を入力

このアクティビティのレイアウトは次のとおりです。

text_list_item.xml は次のとおりです。

アクティビティの onCreate() は次のようになります。

TestAdapter は次のようになります。

target = 17 の場合、LinearLayout の子ビューは、ListView の内側にある場合と ListView の外側にある場合の両方で、使用可能な幅の 50% に適切にサイズ変更されます。target = 18 の場合、リスト アイテムのレイアウトとして使用する場合、サイズは変更されません。この場合、その幅は「0dp」のままで、サイズが変更されることはありません。

理想的には、SDK 19 をターゲットにしたいと考えています。ただし、そのためには、この動作の変更に何らかの形で対応する必要があります。それをどのように達成できるかについて何か考えはありますか?

ところで、レイアウトが複雑で「奇妙」である理由があります。この特定の視覚的な外観を実現するには、もっと簡単な方法があることを認識しています。

編集

なぜ私がこの病的なレイアウトを使用しているのかについてもう少し情報を与えるために、「ゲージ」に使用されます。LinearLayout 内の View は、ScaleAnimation を使用して拡大または縮小され、使用可能な幅全体の目的の割合を占めるようになります。難しいのは、ゲージの上にテキストを重ねる必要があり、ゲージの高さをテキストによって決定したいということです。

したがって、外部の RelativeLayout は「その親と同じ幅」である必要がありますが、「含まれる TextView と同じ高さ」のみです。その RelativeLayout 内の LinearLayout は、その親とまったく同じ幅と高さである必要があります。LinearLayout 内の View は、それを含む LinearLayout と同じ高さである必要がありますが、幅は半分だけです。

これはまさに、レイアウトが ListView item のコンテンツとして使用されていない場合に、 SDK 17および/またはSDK 18+をターゲットにするときに得られる動作です。

編集

開発者グループに投稿:

https://groups.google.com/forum/#!msg/android-developers/KuoY5Tklyms/TbNq6ndD_PwJ

0 投票する
1 に答える
115 参照

android - 互換性があるにもかかわらず、アプリが Google Play に表示されない

アプリと一部のデバイスとの互換性に関して深刻な問題があります。

現時点では、これらは私の構成と権限です:

これは、私のアプリケーションが Android 4.0.x 以降のすべてのスマートフォン (タブレットではない) と互換性があることを意味します。あれは正しいですか?

Genmyotionでシミュレーションした4.1.1のSamsung Galaxy S IIには対応していないことがわかったからです。また、お客様は実際のデバイスでこの動作について説明しました。この問題が発生する理由を知っている人はいますか?

0 投票する
5 に答える
2026 参照

android - Androidアクションバーの背景色を設定する

互換ライブラリ v7 で動作しています。

アクションバーの色を(Android 2.1以降の場合-Android 4.4.2を実行していますが)単色に設定しようとしています。

ただし、色は変わりません。それは同じままです。

色でソリッドドローアブルも作成しようとしましたが、それも変わりません。

最後に、レイアウトの背景を変更できるかどうかをテストしましたが、変更できました-それは、取得していないアクションバーの背景に関するものである必要があります。

コードは次のとおりです。