いくつかのAndroidスタイリングチュートリアルでは、Android.R.style。*スタイルでは見つからない親スタイル要素が使用されます( http://developer.Android.com/reference /Android/R.style.html )。
いくつかの例は http://Android-developers.blogspot.com/2011/04/customizing-action-bar.html アクションバーの記事からのものです。ニックは次のような親スタイルを使用します。
<style name="MyDropDownNav" parent="Android:style/Widget.Holo.Light.Spinner.DropDown.ActionBar">
...
</style>
または
<style name="MyActionBarTabStyle" parent="Android:style/Widget.Holo.Light.ActionBarView_TabView">
...
</style>
これらの親スタイルはどこから来たのですか?利用可能なすべての親スタイルをリストすることは可能ですか?
ありがとう。
「スタイルとテーマの適用」 記事に記載されているとおり:
Androidプラットフォームは、アプリケーションで使用できるスタイルとテーマの大きなコレクションを提供します。利用可能なすべてのスタイルのリファレンスは、 R.style クラス:ここにリストされているスタイルを使用するには、スタイル名のすべての下線をピリオドに置き換えます。たとえば、 Theme_NoTitleBar テーマを
"@Android:style/Theme.NoTitleBar"
。ただし、 R.style 参照は十分に文書化されておらず、スタイルを完全に説明していないため、これらのスタイルおよびテーマの実際のソースコードを表示すると、それぞれが提供するスタイルプロパティ。 Androidスタイルとテーマのより良い参照については、次のソースコードを参照してください。
これらのファイルは、例を通して学ぶのに役立ちます。たとえば、Androidテーマのソースコードでは、
<style name="Theme.Dialog">
の宣言があります。この定義では、Androidフレームワークで使用されるダイアログのスタイル設定に使用されるすべてのプロパティが表示されます。
Official Google's Documentation
for Themes
およびStyles
のDefault List
Google Android Documentation
こちらのドキュメントをご覧ください
上記の質問への答えは、初心者にとっても役立つので、実装の方法を残してここで終わります。
それらの実装方法
これはthemes.xml
から得たものです
<style name="Theme.NoTitleBar">
<item name="Android:windowNoTitle">true</item>
</style>
今、私のプロジェクトでto implement
it
Styles.xml
ファイルに次の行を追加する必要があります
<style name="AppTheme" parent="Android:Theme.NoTitleBar" />
これで、own theme
というプロパティをAppTheme
という名前のinherit
という名前のalready defined them by google
を作成しています。 parent
で言及しています
themes.xml
とstyles.xml
を調べることにより、help to get the list of the already defined
テーマとスタイルだけでなく、help novices to have an idea how to create
テーマも調べることができます。
ここでparent
で言及しているテーマは、Androidで既に定義されているため、テーマ名の前にAndroid:
を付けて使用します。
inherit your created theme
が必要な場合
<style name="Theme2" parent="AppTheme">
<item name="Android:windowNoTitle">true</item>
<item name="Android:windowFullscreen">true</item>
<item name="Android:windowContentOverlay">@null</item>
</style>
style name to the parent
を指定するだけです。ここでは、theme2
の親テーマとしてApptheme
を使用しています。
「Android:style/Widget.Holo.Light.ActionBarView_TabView」については、以下を参照してください。 http://developer.Android.com/reference/Android/R.style.html#Widget_Holo_Light_ActionBar_TabView ...導入されたAPIレベル!
「Android:style/Widget.Holo.Light.Spinner.DropDown.ActionBar」の場合: http://developer.Android.com/reference/Android/R.style.html#Widget_Holo_Light_DropDownItem_Spinner
後者は私の推測です-リストを実際にドロップダウンすることはできません。
Parent
属性は、独自のthemes
またはstyles
を作成する際のオプションの属性です。基本的に、parent
属性は、プラットフォーム自体で既に定義されているスタイルを継承するために使用されます。
theme
またはstyle
を継承し、一部の機能を上書きする場合は、parent
属性を使用できます。
ここにすべてのリンクがあります 利用可能なプラットフォーム定義styles
。
そしてもう1つのヒント:
自分で作成したstyle
を継承したい場合は、この例に従って継承してください。
<style name="MyDropDownNav.Red">
<item name="Android:textColor">#FF0000</item>
</style>