文档章节

在Android中自定义IOS风格的按钮

迷途d书童
 迷途d书童
发布于 2012/03/21 18:16
字数 297
阅读 987
收藏 7

IOS风格的UI比较流行,很多AndroidUI设计者也愿意将AndroidUI设计成类似IOS系统的UI风格。下面是一个例子,说明如何使用Shape来定义一个IOS风格的按钮。

 

定义一个ios_button_grouped.xml

<?xmlversion="1.0"encoding="UTF-8"?>

<selector

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

    <item

       android:state_pressed="true"

       android:drawable="@drawable/ios_button_grouped_pressed"/>

    <item

       android:state_focused="true"

       android:state_window_focused="true"

       android:drawable="@drawable/ios_button_grouped_pressed"/>

    <item

       android:drawable="@drawable/ios_button_grouped_normal"/>

</selector>

 

 

定义ios_button_grouped_normal.xml

<?xmlversion="1.0"encoding="utf-8"?>

<shape

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

    android:shape="rectangle">

    <solid

       android:color="#eee"/>

    <stroke

       android:width="1dp"

       android:color="@android:color/black"/>

    <corners

       android:radius="5dp"/>

</shape>

 

定义ios_button_grouped_pressed.xml

<?xmlversion="1.0"encoding="utf-8"?>

<shape

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

    android:shape="rectangle">

    <solid

       android:color="#0be"/>

    <stroke

       android:width="1dp"

       android:color="@android:color/black"/>

    <corners

       android:radius="5dp"/>

</shape>

 

这里主要是定义Shape中的rectangle的颜色。还有一些颜色属性可以设置,比如startColorendColorangle等等,可以定义出漂亮的UI效果。建议参考API文档。

 

效果:

 

 

使用方法:

当做图片作为背景使用即可。

android:background="@drawable/ios_button_grouped"

 

---------------------------------------------------------------------------

GL(arui319)

http://blog.csdn.net/arui319

<本文可以转载,但是请保留以上作者信息。谢谢。>

---------------------------------------------------------------------------

 


 


原文链接: http://blog.csdn.net/arui319/article/details/6558109

本文转载自:http://blog.csdn.net/arui319/article/details/6558109

迷途d书童

迷途d书童

粉丝 1017
博文 144
码字总数 14138
作品 0
深圳
高级程序员
私信 提问
NativeScript 5.4.0 发布,JS 构建原生安卓/IOS 应用

Bug修复 如果加载组件失败则抛出(#7186)(b7abb3d) android / button:可能不正确的按钮视觉状态(#7190)(2a02360) devtools-ios:确保在主线程(c60f74d)上运行UI修改,关闭#721...

左华栋
05/22
627
0
移动端页面自定义input唤起键盘return,换行键为搜索

最近产品有个需求:移动端页面自定义input唤起键盘return,换行键为搜索。我的第一反应我要阻止原生的键盘弹起并且用js写一个虚拟键盘还要可以输入中文!!!想想就觉得可怕。 将input的typ...

hollyDysania
2018/12/07
0
0
小程序自定义导航栏适配(完美版)

1、发现问题 小程序页面自定义导航栏功能已经开放有些日子了(还不知道这个功能的可以先>>了解一下),这极大的提升了小程序开发的自由度,相信不少小伙伴已经使用过这个功能,同时也相信不少小...

04/01
0
0
Flutter 推出发布预览版 2,稳定版 1.0 就要到来

Flutter 是 Google 面向移动端应用推出的一套跨平台开发工具,助力开发者在 iOS 和 Android 两个平台上开发高质量的原生应用界面。在 20 日的中国 2018 Google 开发者大会上,谷歌推出了 Fl...

h4cd
2018/09/21
6K
21
React Navigation

https://reactnavigation.org/docs/intro/nesting 官网 http://blog.csdn.net/u013718120/article/details/72357698 http://www.jianshu.com/p/2f575cc35780 这里只是基本用法,高级详情用法......

Chason-洪
2017/11/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

会用python把linux命令写一遍的人,进大厂有多容易?

看过这篇《2000字谏言,给那些想学Python的人,建议收藏后细看!》的读者应该都对一个命令有点印象吧?没错,就是 linux 中经常会用到的 ls 命令。 文章中我就提到如何提升自己的 python 能力...

上海小胖
11分钟前
1
0
HashMap的特性

一、hashmap数据结构:哈希表结构:数组+链表 hashmap调用默认构造方法会产生一个默认底层是长度为16的Entry数组,首先调用key的hasCode()方法来得到一个整数, int hash = hash(key.hashCode...

GGbird
11分钟前
2
0
第五章 spring-connet之Imports注解来龙去脉

前言 imports是一个在spring体系里非常重要的注解,基本每个Enable开头的注解必然有一个import注解。接下来我们深入研究下import的作用。看小节的同学建议先取看PostProcessorRegistrationDe...

鸟菜啊
15分钟前
1
0
CentOS部署Harbor镜像仓库

关于Harbor Harbor是用于存储和分发Docker镜像的镜像仓库服务,相比Docker Registry,Harbor在安全、标识、管理等方面做了增强,更适合企业使用; 官方网站:https://goharbor.io/ 官方开源:...

程序员欣宸
20分钟前
1
0
JavaScript调试必会的8个console方法

每个JavaScript开发者都用过console.log()来调试程序,但实际上Console对象还提供了很多其他方法可以提高调试效率。本文将介绍8个有趣的Console方法,即使JavaScript老手也不一定知道! 1、c...

汇智网教程
41分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部