148

Android XML属性の疑問符の意味を誰かが説明できますか?

<TextView    
    style="?android:attr/windowTitleStyle"
    More attributes
/>
4

2 に答える 2

136

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

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

于 2010-04-29T00:14:52.000 に答える
44

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

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

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

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

于 2016-03-02T21:54:20.030 に答える