我正在尝试通过布局构建一个
Android UI.我从以下开始:
<TextView android:id="@+id/..." android:layout_marginTop="8dip" android:text="..." style="?android:attr/listSeparatorTextViewStyle"/>
而且看起来不错(所有的帽子,较小的字体,下面的分隔线).现在我想扩展风格,所以我把它改成如下:
<TextView android:id="@+id/..." android:layout_marginTop="8dip" android:text="..." style="@style/section_title"/>
具有以下风格:
<style name="section_title" parent="@android:attr/listSeparatorTextViewStyle"> <item name="android:layout_width">fill_parent</item> <item name="android:layout_height">wrap_content</item> </style>
这不行(字体是正确的,但分隔线已经走了).
那怎么来的?
解决方法
使用时:
style="?android:attr/listSeparatorTextViewStyle"
你使用这个属性指向的样式(listSeparatorTextViewStyle).如果您在平台themes.xml中看到,实际用于此属性的样式是Widget.TextView.ListSeparator.White.所以这是您应该在自定义样式中扩展的风格.
不幸的是,这种风格是私人的,你不能扩展它,或者你不应该扩展它(参考,请参阅谷歌的this bug report).你最好的选择是复制整个样式,Widget.TextView.ListSeparator.White(Widget.TextView.ListSeparator不是公共的,所以也必须复制),在你的自定义样式和使用,而不是扩展风格从Android平台(见上述链接this response).
原文地址:https://www.jb51.cc/android/312475.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。