AndroidのXML属性の疑問符(?)


回答:


132

疑問符は、現在適用されているテーマのリソース値への参照であることを意味します。詳細については、linuxtopia Android開発ガイドまたはandroid.com開発ガイドを参照してください。

\? 疑問符をエスケープします。


3
私はあなたの2番目のリンクを指すように良いだろうと思う:developer.android.com/guide/topics/resources/...
Casebash

9
:デベロッパーガイドの記事が再構築されている、これは新しい直接リンクですdeveloper.android.com/guide/topics/resources/...
mernen

3
私は言う方が適切だと思いますか?「現在適用されているテーマのリソース値への参照」ではなく、「スタイル属性の参照」に使用されます。あなたが提供したandroid.com開発ガイドリンクによると。
Helin Wang

5
同じカスタムリソース属性を含む複数のテーマを検討する場合、これは最も理にかなっていると思います。MyThemeTransformersやMyThemeHobbitなどの映画関連のテーマがあり、どちらにもmovieIconという属性があるとします。そしてmovieIconは、各テーマ定義で@drawableリソース(ロボットやホビット画像など)を指します。「?attr / movieIcon」は、テーマが有効な場所であればどこでも参照できます(ツールバーやダイアログ、その他のビューレイアウトなど)。テーマを切り替えると、適切なドローアブルを自動的にポイントします。お役に立てば幸いです。
Devon Biere、2015

1
@DevonBiere助かった!回答としてコメントを送っていただければ幸いです。
Alexander Suraphel、2016年

37

?特定のハードコードされたリソースの代わりにスタイル属性を参照できます。「スタイル属性の参照」を参照してくださいは、Android開発ガイドのしてください。

それで、これは実際にどのように役立ちますか?同じカスタムリソース属性を含む複数のテーマを検討する場合に最も意味があります。

MyThemeTransformersやMyThemeHobbitなどの映画関連のテーマがあり、両方にmovieIconという属性があるとします。。そして、そのmovieIcon属性は、各テーマ定義の異なる@drawableリソース、たとえばrobot.pngまたはhobbit.pngを指します。

" ?attr / movieIcon "は、テーマが有効な場所であればどこでも参照できます(ツールバーやダイアログ、または任意の種類のビューレイアウトなど)。テーマを切り替えると、適切なドローアブルを自動的にポイントします。さまざまなドローアブルを使用するために、テーマに依存するロジックは必要ありません。テーマごとにmovieIcon属性を定義するだけで、あとはAndroidフレームワークが処理します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.