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


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

定义一个ios_button_grouped.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/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

<?xml version="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="1"

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

    <corners

       android:radius="5" />

</shape>

 

定义ios_button_grouped_pressed.xml

<?xml version="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="1"

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

    <corners

       android:radius="5" />

</shape> 

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

效果: 

 

使用方法:

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

android:background="@drawable/ios_ grouped_normal"

相关内容