自定义控件定义样式

首先在attrs中定义属性:





1 <?xml
version=
"1.0" encoding="utf-8"?>





2  





3 <resources>





4     <declare-styleable
name=
"tabStyleable">





5         <attr
name=
"tabPageIndicatorStyle" format="reference"/>





6         <attr
name=
"tabTextStyle" format="reference"/>





7     </declare-styleable>





8      





9 </resources>

然后使用这些属性:





1 <!--
Application theme. -->





2 <style
name=
"AppTheme" parent="AppBaseTheme">





3     <!--
tab的样式 -->





4     <item
name=
"tabPageIndicatorStyle">@style/Widget.TabPageIndicator</item>





5     <item
name=
"tabTextStyle">@style/Widget.TabPageIndicator.Text</item>





6 </style>

最后定义样式:





01 <?xml
version=
"1.0" encoding="utf-8"?>





02  





03 <resources>





04      





05     <style
name=
"Widget"></style>





06  





07     <style
name=
"Widget.TabPageIndicator" parent="Widget">





08         <item
name=
"android:gravity">center_horizontal</item>





09         <item
name=
"android:background">@drawable/tab_indicator</item>





10         <item
name=
"android:paddingLeft">22dip</item>





11         <item
name=
"android:paddingRight">22dip</item>





12         <item
name=
"android:paddingTop">12dp</item>





13         <item
name=
"android:paddingBottom">12dp</item>





14     </style>





15     <style
name=
"Widget.TabPageIndicator.Text" parent="Widget">





16         <item
name=
"android:textAppearance">@style/TextAppearance.TabPageIndicator</item>





17         <item
name=
"android:textColor">@color/black</item>





18         <item
name=
"android:textSize">12sp</item>





19         <item
name=
"android:textStyle">bold</item>





20         <item
name=
"android:maxLines">1</item>





21     </style>





22      





23     <style
name=
"TextAppearance.TabPageIndicator" parent="Widget">





24          





25     </style>





26 </resources>

最后指定什么控件使用这个属性和样式:





01 <?xml
version=
"1.0" encoding="utf-8"?>





02  





03 <view





04     xmlns:android="http://schemas.android.com/apk/res/android"





05     class="com.demo.view.tab.TabView"





06     style="?attr/tabPageIndicatorStyle">





07     <TextView





08         android:id="@android:id/text1"





09         android:layout_width="wrap_content"





10         android:layout_height="wrap_content"





11         android:gravity="center"





12         style="?attr/tabTextStyle" />





13 </view>

自定义控件定义样式,码迷,mamicode.com

时间: 2024-11-07 08:53:46

自定义控件定义样式的相关文章

WPF自定义控件与样式(7)-列表控件DataGrid与ListView自定义样式

一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要内容: DataGrid自定义样式: ListView自定义样式: 二.DataGrid自定义样式 DataGrid是常用的数据列表显示控件,先看看实现的效果(动态图,有点大): DataGrid控件样式结构包括以下几个部分: 列头header样式 调整列头宽度的列分割线样式 行样式 行头调整高度样式 行头部样式

WPF自定义控件与样式(2)-自定义按钮FButton

一.前言.效果图 还是先看看效果图吧:   定义Button按钮名称叫FButton,主要是集成了字体图标(参考上一篇:WPF自定义控件与样式1-矢量字体图标(iconfont)).其实在WPF里,要实现本文FButton的需求,完全可以不用自定义控件,使用样式.模板就可以搞定了的. 二.按钮FButton控件定义 2.1 FButton继承自微软基础控件Button (C#代码) FButton继承自微软基础控件Button,没有什么逻辑代码,主要扩展了几个属性: 控件外观控制的属性,如圆角.

WPF自定义控件与样式(1)-矢量字体图标(iconfont)

一.图标字体 图标字体在网页开发上运用非常广泛,具体可以网络搜索了解,网页上的运用有很多例子,如Bootstrap.但在C/S程序中使用还不多,字体图标其实就是把矢量图形打包到字体文件里,就像使用一般外置字体一样的使用,因此Winform.WPF中都是可以用的. 在我们多个WPF项目中广泛使用了图标字体,包括自定义控件.自定义样式.模板等.总结下: 网上开源字体图标很多,很容易获取,项目开发中需要的绝大部分图标都可以找到,非常方便,推荐 阿里巴巴开源字体: 字体文件非常小,比使用png等图片文件

WPF自定义控件与样式(12)-缩略图ThumbnailImage /gif动画图/图片列表

原文:WPF自定义控件与样式(12)-缩略图ThumbnailImage /gif动画图/图片列表 一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要针对WPF项目开发中图片的各种使用问题,经过总结,把一些经验分享一下.内容包括: WPF常用图像数据源ImageSource的创建: 自定义缩略图控件ThumbnailImage,支持网络图片.大图片.图片异步加载

WPF自定义控件与样式(10)-进度控件ProcessBar自定义样

一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要内容: ProcessBar自定义标准样式: ProcessBar自定义环形进度样式: 二.ProcessBar标准样式 效果图: ProcessBar的样式非常简单: <!--ProgressBar Style--> <Style TargetType="ProgressBar" x

WPF自定义控件与样式(5)-Calendar/DatePicker日期控件自定义样式及扩展

一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要内容: 日历控件Calendar自定义样式: 日期控件DatePicker自定义样式,及Label标签.水印.清除日期功能扩展: 二.Calendar自定义样式 先看看效果: 从上面图可以看出,日历的显示其实有三种状态,如下面的分解图: "日"部分的显示: "月"部分的显示: &qu

WPF自定义控件与样式(6)-ScrollViewer与ListBox自定义样式

原文:WPF自定义控件与样式(6)-ScrollViewer与ListBox自定义样式 一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要内容: ScrollViewer的样式拆解及基本样式定义: ListBox集合控件的样式定义: 二.ScrollViewer自定义样式 ScrollViewer在各种列表.集合控件中广泛使用的基础组建,先看看效果图: 如上图,

WPF自定义控件与样式(3)-TextBox &amp; RichTextBox &amp; PasswordBox样式、水印、Label标签、功能扩展

原文:WPF自定义控件与样式(3)-TextBox & RichTextBox & PasswordBox样式.水印.Label标签.功能扩展 一.前言.预览 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要是对文本输入控件进行样式开发,及相关扩展功能开发,主要内容包括: 基本文本框TextBox控件样式及扩展功能,实现了样式.水印.Label标签.功能扩展: 富

WPF 自定义控件及样式

这次通过最近做的小例子说明一下自定义Button控件和样式. 实现的效果为: 在讲解之前先分析一下: 这上面为八个按钮,这是毫无疑问的.在每个按钮中又包含了一个图片和文本两个元素.虽然有这么多按钮,但他们的样式基本相同,除了按钮中的图片和文字内容.所以我们可以把相同的部分提取出来,把不同的内容进行传参来实现不同的效果. 继续分析,在按钮中包含的这两个元素,一个是图片元素,一个是文本元素.先说文本元素,文本元素直接可以通过Button.Content直接赋值.但Image控件的Source属性不能