Android Style.xml詳細

3757 ワード

概要
Androidの公式解釈によると
A style resource defines the format and look for a UI. A style can be applied to an individual View (from within a layout file) or to an entire Activity or application (from within the manifest file).
styleで定義されたUIフォーマットと外観は、1つのViewで単独で使用したり、Activityで使用したり、アプリケーションスタイルとして使用したりすることができます(前者はlayoutでandroid:style="XXXX"を使用し、後者はmanifestファイルのアプリケーションノードの下でandroid:theme="XXXX").
実際には、styleはwidth、padding、color、heightなどの属性セットであり、windowNoTitle、windowBackground、windowContentOverlayなどの高度な属性が含まれています.
実はstyleはwebが開発したstylesheetsとよく似ていて、内容とスタイルを分離する思想で、このような単純なプログラミング思想は私たちが問題を剥離するのに役立ち、問題を分析するのに役立ちます.もう一つは、コードの多重化率を高め(これは省力のためのようです)、同時に私たちのコードをもっときれいに見せることです.階層がはっきりしていますね.
tip:styleの参照はxmlのファイル名ではなくsytleのname属性に基づいています.
例:
スタイルのコード


Layoutでの使用

实际上,resources 下的每一个 style 节点在编译的时候都会被编译成一个 application resource 对象,

常见用法

单独使用在一个 View 上

只对当前 View 起作用,即使当前 View 是一个 ViewGroup 它也只是对这个 ViewGroup 起作用,而不会影响其中的 child View 。

使用在 Activity 或者 Application 上,这样的话是影响了所有 Application 下的 UI 格式和风格



    

スタイルの継承について
styleは継承を許可し、サブstyleで親styleの属性を書き換えることができ、柔軟性を高めることができます.以下はexampleで、parent属性を通じて継承を実現し、サブクラスの命名と親クラスの命名には一定の関係があり、サブクラスの命名は親クラスの命名です.拡張子の名前.カスタムstyleであれば、名前の継承によって継承を実現することができ、サブクラス名は親クラス名である.拡張子の名前.



style cart_tv.brandはcartから継承されていますtvの場合、同じ属性のサブクラスは親の値を上書きします.
tip:この継承ネーミングは、システムに付属するstyleでは使用できません.parentプロパティを表示して宣言する必要があります.たとえば、次のようにします.


parent=”android:style/Theme.Dialogはこのstyleがシステムから受け継いだことを宣言した.Dialog
システムのStyleとThemeの使い方
システムのstyleはR.style静的クラスで、xmlファイルで以下の類似コードを使用して参照を実現することができます.
"@android:style/Theme.NoTitleBar".

つまり@android:style/参照するプロパティ名