脚本宝典收集整理的这篇文章主要介绍了AppCompat包的样式资源,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
资源定义
样式定义
com.android.support:appcompat-v7
库中,样式主要的定义在$SDK_HOME/extras/android/v7/appcompat/res/values/themes_base.XMl
中,其中定义了以下样式:@H_512_10@
Platform.AppCompat(andROId:Theme)
Platform.AppCompat.Light(Platform.AppCompat)
Base.V7.Theme.AppCompat(Platform.AppCompat)
Base.V7.Theme.AppCompat.Light(Platform.AppCompat.Light)
Base.Theme.AppCompat(Base.V7.Theme.AppCompat)
Base.Theme.AppCompat.Light(Base.V7.Theme.AppCompat.Light)
其他如.DarkActionBar等衍生样式
其中对于若干的样式定义,比如
edITTextBackground
editTextColor
……
其中定义了AppCompat包的各种样式。对于希望修改默认样式的,可以在当前Activity的样式中对需要修改的样式进行覆盖即可。比如,android.support.v7.widget.AppCompatEditText
,在激活状态下下划线是加粗的,通过查看AppCompatEdit
代码,找到其背景是@drawableabc_edit_text_MATErial
,此文件是一个xML资源文件,定义了一个inset
集合,使用了两张9patch图片,通过TintManager
对其进行染色,就得到了所见的默认样式。
如果需要修改,比如将其激活状态下也改为同样粗细的下划线,可以新建(复制)一份@drawableabc_edit_text_material
文件,其默认内容为:
<inset >"http://schemas.android.COM/apk/res/android"
android:insetLeft="@dimen/abc_edit_text_inset_horizontal_material"
android:insetRight="@dimen/abc_edit_text_inset_horizontal_material"
android:insetTop="@dimen/abc_edit_text_inset_top_material"
android:insetBottom="@dimen/abc_edit_text_inset_bottom_material">
<selector>
<item android:state_enabled="false"
android:drawable="@drawable/abc_textfield_default_mtrl_alpha"/>
<item android:state_Pressed="false"
android:state_focused="false"
android:drawable="@drawable/abc_textfield_default_mtrl_alpha"/>
<item android:drawable="@drawable/abc_textfield_activated_mtrl_alpha"/>
</selector>
</inset>
可以看到在最下方是使用了@drawable/abc_textfield_activated_mtrl_alpha
资源,将其改为同上的资源,在样式文件中添加
<item name="editTextBackground">@drawable/abc_edit_text_material</item>
其中资源是你新复制修改的资源,即可。
以上是脚本宝典为你收集整理的AppCompat包的样式资源全部内容,希望文章能够帮你解决AppCompat包的样式资源所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。