2011-07-13 12 views
9

私は主なアクティビティ自体のアンドロイドマニフェストでそれに適用されたカスタムテーマで働いているアンドロイドアプリケーションを持っています。このアクティビティでは、スタイルが適用されたリストビューが作成されます。Androidのスタイル階層 - 重要度は何ですか?

そのリストビュー用のカスタムレイアウトを作成し、行自体に別のXMLファイルを含めて、それらのレイアウトに直接スタイリングを適用すると、このスタイルはアプリケーションの全体的なスタイルを上書きしますか?私は、スタイルの仕方やテーマ設定の仕方まで、イベントの階層構造を把握しようとしています。

私の考え方は、行のレイアウトスタイルを適用するxml>全体のリストビューのスタイルを適用する、listviewレイアウトで参照するxml>カスタムテーマからスタイルを適用する、style xmlで参照するアンドロイドマニフェストによって参照される

私は正しいですか?または私はこれに間違って近づいています。 (ただ混乱のために、「>」私は意味よりも大きな重要性を持つことで)

+0

私は同じ質問の後です。私の最初の実験では、それは逆の方向に進んでいるようですが、これは非常に奇妙です。誰かが確認できれば素晴らしいだろう。 – dineth

+0

これは役立ちます:http://developer.android.com/guide/topics/ui/themes.html#Inheritance – CrackerJack9

答えて

0

希望私はあなたのstyles.xmlに定義

スタイルは、常にスタイルを上書きします...右ここにあなたの質問を理解しています現在アンドロイドが使用しているテーマから来ています。

これは上書きする属性に対してのみ機能します。

あなたは手つかずの属性を残す場合は、Androidがそれのスタイルを提供します、そして時にはこれはお尻であなたを噛ま来る:)

このシステムは最高のように説明されています TextViewには、属性の例

が必要です
<item name="android:textColor">#00FF00</item> 

Androidは最初に元のレイアウトで表示されます。 見つからない場合は、カスタムスタイルを調べます。 見つからない場合は、アンドロイドスタイルが検索されます。

これが役に立ちます。あなたは

<item name="listViewStyle">@style/MyOwnListView</item> 

独自のリストビュースタイルで定義されていない何か(または操作を行うことができ、独自のテーマで

<item name="listViewStyle">@android:style/Widget.ListView</item> 

0

標準のテーマは、行がどのようにListViewコントロールのスタイルを定義していデフォルト)は、テーマに定義されているものになります。