Selector:
10年积累的成都网站建设、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有且末免费网站建设让你可以放心的选择与我们合作。在开发过程中,通常我们需要给控件增加点击的效果,效果如下:
默认效果 点击效果
1、首先准备两张图片(默认和点击时的图片)
2、右击res文件夹,新建一个xml文件,在弹出的对话框中,Resource Type 选择Drawable,Root Element选择Selector,填入文件名(如:pressed_selector),点击完成,这时会在res文件夹中生成一个drawable文件夹存放我们创建的xml文件
3、xml代码如下:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="true" //点击状态 android:drawable="@drawable/ic_pressed"></item> //点击状态的图片 <item android:drawable="@drawable/ic_normal"></item> //没有设置状态则为默认图片 </selector>
4、之后再布局文件中,在我们要增加点击效果的控件设置如下属性,运行后该控件就有点击效果了
android:background="@drawable/pressed_selector"
5、当然,出了设置点击时的效果,还可以设置选中状态、聚焦状态等等效果
只要设置相应 android:state_xxx 属性即可
Shape:
除了给控件设置点击效果,我们还可以在控件的外观上给予美化,比如设置圆角、边框等,这时候就要用到shape了,跟selector一样创建一个xml文件,Root Element选择Shape,就会生成shape xml文件,各种属性参考下面代码
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <!-- 设置圆角 可用radius设置4个方向的圆角,也可分别单独设置4个圆角--> <corners android:radius="2dp" android:topLeftRadius="2dp" android:topRightRadius="2dp" android:bottomLeftRadius="2dp" android:bottomRightRadius="2dp" /> <!-- 描边,即边框,默认是实线;dashWidth、dashGap两个属性设置虚线 --> <stroke android:width="2dp" android:color="#dcdcdc" android:dashWidth="2dp" android:dashGap="3dp"/> <!-- 实心,即填充的颜色 --> <solid android:color="#ffffff" /> <!-- 渐变 --> <gradient android:angle="200" android:endColor="#00ff00" android:startColor="#ffffff" /> <!-- 间隔 --> <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" /> </shape>
同样是给控件设置background属性即可引入shape效果
android:background="@drawable/shape"
Selector与Shape结合使用:
如果我们要给控件同时设置点击效果和shape效果,只需要把shape的代码移植到selector中即可,代码如下:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 分别设置点击时和默认状态的shape --> <item android:state_pressed="true"> <shape> <corners android:radius="20dp" /> <solid android:color="#e0e0e0" /> </shape> </item> <item> <shape> <corners android:radius="20dp" /> <solid android:color="#ffffff" /> </shape> </item> </selector>
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章题目:Android之Selector与Shape的使用-创新互联
网页网址:/article18/dgojgp.html
成都网站建设公司_创新互联,为您提供标签优化、网站收录、Google、品牌网站制作、外贸网站建设、网站设计
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联