web-dev-qa-db-ja.com

KitKatでAndroid L Material Designを使用

Android L Developer Previewの互換性セクションを読む( http://developer.Android.com/preview/material/compatibility.html )を使用してAPPを作成できることがわかりましたL-sdkおよび古いキット(KitKatなど)で実行することもできます。

Android L SDKを使用して新しいプロジェクトを作成し、この投稿で述べたように「build.gradle」を構成しました: Android Studio:Failure [INSTALL_FAILED_OLDER_SDK]

私は両方の構成を試しました:

  • このエラーを私に与える問題で提案されたもの:

    pkg: /data/local/tmp/com.example.{my user name}.materialapp Failure [INSTALL_FAILED_OLDER_SDK]

  • そして、私にエラーを与える答えで提案されたもの

    <style name="AppTheme" parent="Android:Theme.Material.Light"></style>

StackOverflowで他の質問を検索しましたが、解決策が見つかりません。

解決策:Android Lpreviewマテリアルスタイルは、Android Lを実行するデバイスでのみ使用できます。「互換性」はプレビューで有効になっていません。

18
Luca

異なるフォルダーに配置する同じ名前の2つの異なるstyles.xmlファイルを作成する必要があります。

最初は、ここに行きます:

res/styles.xml

materialテーマへの参照がないように見えます(Holoテーマを使用):

次のようなものがあります:

<style name="AppTheme" parent="Android:Theme.Holo.Light"></style>

2番目はここに行きます:

res/values-v21/styles.xml

そして、新しいマテリアルテーマへの参照が含まれます。

<style name="AppTheme" parent="Android:Theme.Material.Light"></style>

Androidフレームワークは、デバイスがサポートするAPIに応じて正しいフレームワークを自動的に使用します(API 21デバイスではマテリアルを使用し、他のすべてのデバイスでは、定義したものをすべて使用します) 。

11
Booger

これは、GoogleがAppCompatライブラリ(ほとんどのAndroidのすべてのバージョンをサポート)でマテリアルデザインのより良いサポートをリリースしたため、元の答えから変わっています。

この時点で、すべての開発にこれらのライブラリを使用する必要があり、すべてのアプリでマテリアルデザイン関連の機能をサポートできるようになります。

設定方法は次のとおりです。 https://developer.Android.com/topic/libraries/support-library/setup.html

1
Booger