2017-05-31 1 views
-1

彼らは私が理解できない少し奇妙なものです。アンドロイドのソースコードではR.style.Theme_Material_Lightへの参照を見つけることができますが、すべての可能なファイルを検索すると、Theme_Material_Light(リソースなど)の定義が見つかりません。だから、Theme_Material_Lightから来てどこに定義/実装を見つけるのですか?Theme_Material_Lightの定義はどこにありますか?

答えて

0

Rクラスは、プロジェクトのコードと同じリソースからコード生成されます。

As we discussed yesterday、あなたがAndroidのSDKをインストールしているとNNNがして興味のAndroidのバージョン(アンドロイド7.1例えば、25)のAPIレベルでどこ$ANDROID_SDKがどこにあるか、$ANDROID_SDK/platforms/android-NNN/data/res/にプラットフォームリソースのコピーを見つけることができます。

Theme.Material.Lightは、少なくともAPIレベル25のリソースのコピーでは、res/values/themes_material.xmlで定義されています。

+0

なし、RES /値で/何のファイルthemes_material.xmlが彼らではありません:(これはなぜ私がそれを見つけることができなかったために尋ねる... – loki

+1

@lokiはい、それがありませんあなたはおそらく間違ったプラットフォームのフォルダの下で探しています –

+1

@ロキ: 'Theme.Material'と親のために、あなたのAPIレベルが21以上必要があります古いAPIレベルを調べている場合は、それ以前に存在しなかった 'Theme.Material'リソースはありません – CommonsWare

0

それはアンドロイドSDKで定義されています(財政資源が逆コンパイルの/system/framework/framework-res.apkを見つけることができる)

+0

しかし、なぜそれが$ ANDROID_SDK/platforms/android-NNN/data/res /他のすべてのリソースと同様に? – loki

+0

はい、そこにもそれを見つけることができます。 dioはCTRL + Bを使ってコード宣言/実装に行きます –

+0

いいえ、私はそれを見つけることができません:(それは確かですか? – loki

関連する問題