style、selector、attrs、shape
来源:互联网 发布:单片机电源模块电路图 编辑:程序博客网 时间:2024/06/07 06:26
1.style:
在res/values下编写,众多属性的集合体,常见写法为:
<span style="font-size:18px;"><style name="MyStyle1" > <item name="android:textSize">40sp</item> <item name="android:textColor">#000000</item> <item name="android:background">#ffff00ff</item> <item name="android:gravity">center</item> <item name="android:layout_width">100dp</item></style></span>
style也可以实现继承
写法一:
<span style="font-size:18px;"><style name="MyStyle2" parent="MyStyle1"> <item name="android:layout_width">150dp</item></style></span>
<span style="font-size:18px;"><style name="MyStyle1.quan" > <item name="android:layout_width">200dp</item></style></span>也可以实现多继承关系:
<span style="font-size:18px;"><style name="MyStyle1.quan.text" > <item name="android:layout_width">250dp</item></style></span>
用法:
在布局文件中引用style
<span style="font-size:18px;"><TextView android:layout_height="wrap_content" style="@style/MyStyle1" android:text="quan"/></span>
ps:style中的属性如果在布局文件中有重新定义,则按照布局文件中的执行,style的子类也一样
2.selector-选择器
android:state_selected选中
android:state_focused获得焦点
android:state_pressed点击
android:state_enabled设置是否响应事件,指所有事件
在res/drawable下创建.xml资源文件
常见写法:
<span style="font-size:18px;"><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@mipmap/ic_launcher"></item> <!-- 默认图片 --> <item android:drawable="@mipmap/ic_launcher"></item> <item android:state_pressed="true" android:color="#fff"></item> <!-- 默认颜色 --> <item android:color="#000fff"></item> <item android:state_pressed="true" > <shape > <gradient android:startColor="#eac100"/> <gradient android:endColor="#ffffff"/> <corners android:radius="8dp" /> </shape> </item></selector></span>
用法:
<span style="font-size:18px;"><ImageButton android:layout_width="match_parent" android:layout_height="40dp" android:background="@drawable/my_selector"/></span>
在res/values下创建.xml文件
写法为:
<span style="font-size:18px;"><resources> <declare-styleable name="quan"> <attr name="my_textsize" format="string|reference"/><!-- reference参考某一资源ID--> <attr name="my_textcolor" format="color|reference"/> </declare-styleable></resources></span>
<span style="font-size:18px;">public TitleBar(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.TitleBar);mTitleText = ta.getString(R.styleable.TitleBar_title_text);mTitleTextSize = ta.getDimension(R.styleable.TitleBar_title_text_size, 16);mTitleTextColor = ta.getColor(R.styleable.TitleBar_title_text_color, Color.parseColor("#ffffff"));mIndicatorDrawable = ta.getDrawable(R.styleable.TitleBar_indicator_image_drawable);mIndicatorVisibility = ta.getBoolean(R.styleable.TitleBar_show_indicator, false);ta.recycle();}</span>
<span style="font-size:18px;"><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:quan="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".PublishActivity" > <com.example.admin.myselfview_2.TitleBar android:id="@+id/tb_title_bar" quan:title_text="主题列表" quan:show_indicator="true" quan:indicator_image_drawable="@mipmap/ic_launcher" style="@style/TitleBar" android:layout_width="match_parent" android:layout_height="wrap_content"> </com.example.admin.myselfview_2.TitleBar></RelativeLayout></span>
4.shape
在res/drawable下建立.xml文件
常见属性:
soild:填充/填充的背景颜色
gradient:渐变/android:startColor和android:startColor表示起始颜色和结束颜色
android:angle 渐变角度,默认是从左到右的渐变方向,值为45的整数倍,
例如android:angle="90",表示从下到上渐变,180则是从右到左,按逆时针转动
android:type="linear"默认模式-线性渐变,android:type="radial"径向渐变(径向渐变就是从中心
往外延伸的渐变),设置径向渐变还需要指定android:gradientRadius="50",其指定
往外扩散渐变的半径范围
stroke:描边/android:width,表示描边的宽度
android:color,表示描边的颜色
android:dashWidth,虚线的线条宽度
android:dashGap,虚线每一个线段之间的间隔
corners:圆角/android:radius,角的弧度,值越就角圆
还可以单独设置四个角:android:topLeftRadius...
padding:间隔/与布局的padding类似,可单独设置四个方向
写法:
<span style="font-size:18px;"><shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:startColor="#000000" android:endColor="#ffffff" android:type="radial" android:gradientRadius="50dp"></gradient> <!--<solid android:color="#ff00ff"></solid> solid 与 gradient不可同时用,gradient会被覆盖--> <stroke android:color="#ff0000" android:width="2dp"></stroke> <corners android:radius="20dp"></corners> <padding android:bottom="5dp" android:left="5dp" android:right="5dp" android:top="5dp"></padding></shape></span>
<span style="font-size:18px;"><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/press_button" android:state_pressed="true"></item> <item android:drawable="@drawable/no_press_button"></item></selector></span>
直接调用即可。
<span style="font-size:18px;"><Button android:id="@+id/my_bt" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="quan" android:background="@drawable/press_selector" /></span>
差不多就这么多了,如果有错和不完整的,等发现了再补充上。。。
- style、selector、attrs、shape
- android shape selector style属性心的
- Android Style --圆角、填充、复用(shape、selector)
- (Android) Attrs & Style
- selector+shape
- shape/selector
- Shape,Selector
- shape&selector
- Selector、shape参数详解
- Android:shape和selector
- Android--Selector、shape详解
- Android Selector和Shape
- Android 自定义shape selector
- Android Selector和Shape
- shape、selector的使用
- Android--Selector、shape详解
- shape+selector美化控件
- shape selector一起使用
- GCC的内嵌汇编语法 AT&T汇编语言语法
- 问题 I: 函数---判断某年某月某日是这一年中的第几天
- Hosts
- [BZOJ2456] mode - 贪心
- IOS学习 GCD 单例模式 一次性执行 涉及记录时间,计算时差
- style、selector、attrs、shape
- LeetCode上做题之体会(一)
- 数据库全面知识
- 【笔试/面试】SQL 经典面试题
- C++实验3-个人所得税计算器
- shell脚本攻略第二章总结---命令之乐
- #3变量实战讲解#
- Vulkan Cmd buffer
- 4月5日学习记录