Android button自定义样式显示

Android应用开发笔记(10):制作自定义背景Button按钮、自定义形状Button的全攻略 Android开发应用中,默认的Button是由系统渲染和管理大小的。而我们看到的成功的移动应用,都是有着酷炫的外观和使用体验的。因此,我们在开发产品的时候,需要对默认按钮进行美化。在本篇里,笔者结合在应用开发中的经验,探讨一下自定义背景的按钮、自定义形状按钮的实现方法。 首先看实现效果截图: 自定义背景的按钮目前有2种方式实现。 1. 矢量图形绘制的方式 矢量图形绘制的方式实现简单,适合对于按钮形状和图案要求不高的场合。步骤如下: (a) 使用x 阅读详情

一个好的APP从直观上最能吸引用户的必定是好看的UI界面及良好的交互体验和特效,有时甚至连主要功能都是次要的!好吧,软件也到了拼脸的时代,主要看气质!

       所以这篇文章就聊聊button的自定义显示,下一篇聊聊Android动画。

      1.通过XML文件设置属性

       定义后和未定义的对比

     

         给button添加自定义的显示也非常简单,在button属性里加上android:background="@drawable/bt_style_bg" 其中最主要的是在drawable文件夹下的bt_style_bg.xml文件

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- 被按下 -->
    <item android:state_pressed="true"><shape>

            <!-- 颜色渐变 startColor开始颜色,endColor结束颜色,angle开始渐变的角度(值只能为90的倍数,0时为左到右渐变,90时为下到上渐变,依次逆时针类推-->
            <gradient android:angle="270" android:endColor="#ADFF2F" android:startColor="#ADFF2F"/>
            <!-- 按钮边缘框 -->
            <stroke android:width="1dip" android:color="#f403c9" />
            <!-- 按钮圆角度 -->
            <corners android:radius="2dp" />
            <!-- 按钮文字和边缘距离(内边距) -->
            <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" />
        </shape></item>

    <!-- 获取焦点 -->
    <item android:state_focused="true"><shape>
            <gradient android:angle="270" android:endColor="#00ff00" android:startColor="#00ffff" />

            <stroke android:width="1dip" android:color="#f403c9" />

            <corners android:radius="2dp" />

            <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" />
        </shape></item>

    <!-- 默认 -->
    <item><shape>
            <gradient android:angle="180" android:endColor="#ffffff" android:startColor="#000000" />

            <stroke android:width="1dip" android:color="#f403c9" />

            <corners android:radius="5dip" />

            <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" />
        </shape></item>

</selector>
       shape属性的使用

圆角背景

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <!-- 实心 即填充颜色-->
    <solid android:color="#E2F5F9"/>
    <!-- 描边 即边框颜色-->
    <stroke
        android:width="2dp"
        android:color="#125579" />
    <!-- 圆角 -->
    <corners
        android:topLeftRadius="180dp"
        android:bottomLeftRadius="180dp"
        android:topRightRadius="180dp"
        android:bottomRightRadius="180dp"/>
    <padding
        android:left="10dp"
         android:bottom="5dp"
        android:top="5dp"
        android:right="10dp"
        />
</shape>

圆形背景

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <padding
        android:bottom="2dp"
        android:left="2dp"
        android:right="2dp"
        android:top="2dp"></padding>
    <size android:height="15dp"
        android:width="15dp"></size>
    <solid android:color="#DD0000"></solid>
</shape>

    2. 自定义形状、颜色、图样的按钮的实现

    步骤如下。

    (a) 设计一张自定义形状风格背景的图片,如下图。

        

   (b) 未点击和按下后的状态各做一张,形成一套图片,如下图。

        like_normal.png      like_pressed.png

   (c) 创建和编写按钮不同状态的图片使用描述文件drawable/bt_like.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/like_normal" />  
    <item android:state_focused="true"  
        android:drawable="@drawable/like_pressed" />  
    <item android:drawable="@drawable/like_normal" />  
</selector>

     3.9-patch图片背景方式(注意前面有个.)

  9-patch格式,是在Android中特有的一种PNG图片格式,以"***.9.png"结尾。此种格式的图片定义了可以伸缩拉伸的区域和文字显示区域,这样,就可以在Android开发中对非矢量图进行拉伸而仍然保持美观。如果使用位图而没有经过9-patch处理的话,效果就会将图片任意的拉伸,影响效果。Android中大量用了这种技术,默认的按钮的背景就是用了类似的方法实现的。我们看一下google官方的描述:

    

    在Android sdk目录下有一个tools文件夹,在这个文件夹中找到draw9patch.bat文件,我们就是使用它来制作Nine-Patch图片的。双击打开之后,在导航栏点击File→Open 9-patch将xxx.png加载进来。
          我们可以在图片的四个边框绘制一个个的小黑点,在上边框和左边框绘制的部分就表示当图片需要拉伸时就拉伸黑点标记的区域,在下边框和右边框绘制的部分则表示内容会被放置的区域。

         如下图所示:

          完成后,最后保存为"xxx.9.png",这样就完成了,然后将其放入到button的background中或者xml自定义的属性中。

注意:.9图只能通过背景设置拉伸,如果用src方式设置只会当作普通图片处理






从踩坑到填平:我在RHEL7上给Tesla A100装驱动的完整记录(含Fabric Manager配置) 本文详细记录了在RHEL7系统上为Tesla A100安装Nvidia驱动的完整过程,包括Fabric Manager配置的关键步骤。通过分析A100架构的特殊性,提供了从驱动安装到服务配置的详细指南,并分享了常见问题的排查方法和性能调优技巧,帮助用户高效部署高性能GPU计算环境。 阅读详情

相关推荐

博途 V16(TIA portal V16)安装教程

本文提供了西门子TIA Portal V16软件的完整安装指南。内容包括百度网盘下载链接(提取码kv69)、详细安装步骤(关闭安全保护、典型安装设置)、授权破解方法,以及PLCSIM仿真功能的使用说明。重点演示了S7-1200 PLC程序的仿真过程,解析了仿真界面各元素功能,包括状态指示灯(RUN/STOP/ERROR)、操作按钮(RUN/STOP/MRES)和网络接口状态等。通过图文并茂的方式,完整呈现了从软件安装到PLC程序仿真的全流程操作。

lingchen1906的博客 5201

自定义Android按钮样式

通过创建自定义的XML资源文件和在布局文件中使用它,我们可以轻松地实现自定义按钮样式。同时,在Java代码中处理按钮的点击事件可以为按钮添加更多的交互性。首先,我们需要在res/drawable文件夹下创建一个XML文件,用于定义按钮的外观。在Android应用程序中,我们经常需要自定义按钮的样式以实现更好的用户体验。在这个示例中,我们将按钮的背景颜色设置为"#FF4081"(粉色),并给它设置了一个8dp的圆角。方法中获取了按钮的引用,并为按钮设置了一个点击事件监听器。在上面的代码中,我们为按钮的。

2301_79326510的博客 536

Android入门教程:自定义Button控件

通过继承Button类、重写方法、添加自定义属性和在布局文件中使用自定义Button,可以实现具有特定样式和行为的自定义Button控件。通过这些步骤,开发者可以根据自己的需求创建独特的Button控件,以提升用户界面的美观度和用户体验。最后,可以在布局文件中使用自定义Button。在XML布局文件中,将Button标签替换为自定义Button的完整类名,例如com.example.CustomButton。首先,在Java代码中创建一个继承自Button的类,用于定义自定义Button的行为和外观。

2301_79326588的博客 787

Android几种常见 自定义Button样式

Android 丢掉图片,使用纯代码编写XML资源文件来实现按钮的样式。在Android设计页面的时候,个人开发实现按钮的样式可能是一件比较麻烦的事情,尤其你在做代码编写的时候,还需要去学习图片编辑软件。想要实现稍微美观一点的页面需要提前准备好一定的图片资源,这个是相当浪费时间的。在这里,我整理出了一些按钮的样式,希望对大家有一定的帮助。 先来认识一下有关标签 。gradient 主体渐变 s

Lobby_Anny的博客 1万+

Android button 自定义样式,点击按钮时改变样式

1、边框带颜色的BUTTON <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="边框带颜色" android:background="@drawable/btn_border"/> 边框样式btn_border.xml <?xml version="1.0" enc...

清叶 的专栏 1万+

android button自定义样式详解,Android 自定义Button按钮显示样式

首先写一个定义Button样式的XML文件:新建Android XML文件,类型选Drawable,根结点选selector,文件名就buton_style吧我这里获取焦点跟点击时显示的是同一张图片,必须严格照上面的顺序写,不可倒。接下来只要在布局时写Button控件时应用到Button的Background属性即可。android:layout_width="wrap_content"andro...

weixin_32734545的博客 3280

android 自定义Button按钮显示样式

Android自定义Button按钮显示样式 2011-08-19 13:09:27     我来说两句  收藏    我要投稿    [字体:小 大]  现在的用户对APP的外观看得很重要,如果APP内所有元件都用Android默认样式写,估计下面评论里就有一堆在骂UI丑的。今天学习自定义Button按钮样式Button样式修改的是Button的背景(Background)属性。...

Hi, Sun 225

Android自定义Button按钮显示样式

现在的用户对APP的外观看得很重要,如果APP内所有元件都用Android默认样式写,估计下面评论里就有一堆在骂UI丑的。今天学习自定义Button按钮样式Button样式修改的是Button的背景(Background)属性。 首先写一个定义Button样式的XML文件: 新建Android XML文件,类型选Drawable,根结点选selector,文件名就buton_style吧。 程序...

zhuyong006的博客 1593

android自定义漂亮按钮样式,Android 自定义Button按钮显示样式

首先写一个定义Button样式的XML文件:新建Android XML文件,类型选Drawable,根结点选selector,文件名就buton_style吧我这里获取焦点跟点击时显示的是同一张图片,必须严格照上面的顺序写,不可倒。接下来只要在布局时写Button控件时应用到Button的Background属性即可。android:layout_width="wrap_content"andro...

weixin_36370851的博客 2250

基于C/C++ 树莓派3B+和QT实现的一个智能家居监控系统+源码+项目文档(毕业设计&课程设计&项目开发)

基于C/C++ 树莓派3B+和QT实现的一个智能家居监控系统+源码+项目文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档物理连接树莓派 GPIO_1 连接 DHT11(使用 WiringPi库)树莓派 GPIO_4 连接 红外树莓派 GPIO_5 连接 蜂鸣器树莓派 USB2.0 连接 摄像头客户端 通过网线或无线连接树莓派(服务器端)软件依赖wiringpi(2.52)libjpeg-dev(1.5.2)已完成火灾报警、拜访提示音、闯入报警读取dht11温湿度值校验多连接支持,pthread & mutexQT基本界面视频日志

上一篇: Activity的启动模式
下一篇: 正则表达式基础和使用及常用表达式
android_cmos
博客等级 码龄11年 176粉丝 73原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值