关于在AndroidStudio中自定义Button的样式

原创 2016年08月31日 16:25:28

关于自定义Button的样式,是在res/drawable文件夹下自定义一个xml文件,在xml文件中进行定义,然后通过将Button的backgroud改为定义的xml文件实现的。下面将进行详细介绍,并举例说明。


在res/drawable下新建一个button_style.xml文件,这个文件用于描述按钮的样式

[html] view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <selector xmlns:android="http://schemas.android.com/apk/res/android" >  
  3.     <item android:state_pressed="true" android:drawable="@drawable/btn_p"/>  
  4.     <item android:state_pressed="false" android:drawable="@drawable/btn_n"/>  
  5. </selector> 
有很多样式可够选择:


在使用时,

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.   
  7.     <TextView  
  8.         android:layout_width="fill_parent"  
  9.         android:layout_height="wrap_content"  
  10.         android:text="@string/hello" />  
  11.   
  12.     <Button  
  13.         android:id="@+id/button1"  
  14.         android:layout_width="wrap_content"  
  15.         android:layout_height="wrap_content"  
  16.         android:background="@drawable/button_style"  
  17.         />  
  18.   
  19. </LinearLayout> 
这样就完成了简单的Button样式。


可以利用上述的参数设置完成一些很酷炫的按钮样式。

<?xml version="1.0" encoding="utf-8"?>
<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true">
        <shape>
            <gradient android:startColor="#99CC33"
                android:endColor="#99CC33"
                android:angle="270" />
            <stroke android:width="1dip" android:color="#f403c9" />
            <corners android:radius="2dp" />
            <padding android:left="10dp" android:top="10dp"
                android:right="10dp" android:bottom="10dp" />
        </shape>
    </item>

    <item android:state_focused="true">
        <shape>
            <gradient android:startColor="#ffc2b7"
                android:endColor="#ffc2b7"
                android:angle="270" />
            <stroke android:width="1dip" android:color="#f403c9" />
            <corners android:radius="2dp" />
            <padding android:left="10dp" android:top="10dp"
                android:right="10dp" android:bottom="10dp" />
        </shape>
    </item>

    <item>
        <shape>
            <gradient android:startColor="#336633"
                android:endColor="#336633"
                android:angle="180" />
            <stroke android:width="1dip" android:color="#f403c9" />
            <corners android:radius="5dip" />
            <padding android:left="10dp" android:top="10dp"
                android:right="10dp" android:bottom="10dp" />
        </shape>
    </item>
</selector>



Android自定义状态的按钮

拿button来举例,常用的状态有pressed,enable,normal,focused,我们可以在资源文件里根据按钮不同的状态来定义背景,系统默认按钮的背景如下: ...
  • hechuangju
  • hechuangju
  • 2017年03月29日 13:30
  • 193

安卓之自定义按钮(以及shape详解)

简述:我们知道安卓原生的按钮实在是不堪入目,而面对市场的需求,这么丑的按钮是没有竞争力的,所以一个可以自定义的好看的按钮必不可缺自定义按钮这个实现比较简单,直接贴代码了。后面还有shape的属性详解汇...
  • Jack__Frost
  • Jack__Frost
  • 2016年07月19日 21:05
  • 7073

Android开发自定义圆角带点击效果的Button

public class AnimationButton extends Button { private int mBackGroundColor = Color.parseColor("...
  • u010074743
  • u010074743
  • 2017年11月09日 20:06
  • 179

Android 5.0+ 自定义普通按钮的ripple波纹效果

Android 5.0中新增了ripple类型,即波纹效果 在res中添加一个新的文件夹drawable-v21,用于保存波纹效果 button_ripple_orange.xml ...
  • jdsjlzx
  • jdsjlzx
  • 2016年03月10日 17:00
  • 13689

Android实现自定义带文字和图片的Button

项目中的需求往往十分怪异,例如在按钮文字的左边加一个图标,这样按钮内部既有文字又有图片,乍看之下Button和ImageView都没法直接使用,若用LinearLayout对ImageView和But...
  • qq_36455052
  • qq_36455052
  • 2017年12月16日 21:31
  • 392

android 自定义Button,抛弃写shape文件

前言 在日常的android开发当中,按钮是必不可少控件。但是如果要实现下面的效果恐怕写shape文件都要写的头晕 w(゚Д゚)ww(゚Д゚)w,所以为了以后的开发,我们...
  • a8688555
  • a8688555
  • 2017年05月27日 17:52
  • 547

android---制作一个自定义button

自定义button
  • u013272108
  • u013272108
  • 2015年06月04日 10:10
  • 539

Android自定义FlowLayout,可带固定按钮,可自定义样式、选择数量

  • 2017年07月14日 13:47
  • 24.98MB
  • 下载

Android--自定义Button的样式以及动态渐变效果

之前开发使用过自定义样式的Button,使用挺简单的,但也很常用,因此总结一下。      首先,自定义一个drawable文件custombutton.xml:...
  • HuoHao_Blogs
  • HuoHao_Blogs
  • 2017年05月31日 16:56
  • 2767

Android之——史上最简单自定义开关按钮的实现

很多时候,我们在很多无论是Android还是IOS的APP中都会遇到这样的一种效果,有一个按钮,我们点击一下,便会滑动一下,一会显示“开”,一会显示“关”,这便是开关按钮了,比如:很多Android手...
  • l1028386804
  • l1028386804
  • 2015年08月30日 11:52
  • 8607
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于在AndroidStudio中自定义Button的样式
举报原因:
原因补充:

(最多只允许输入30个字)