关于在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>



相关文章推荐

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

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

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

很多时候,我们在很多无论是Android还是IOS的APP中都会遇到这样的一种效果,有一个按钮,我们点击一下,便会滑动一下,一会显示“开”,一会显示“关”,这便是开关按钮了,比如:很多Android手...

制作自定义背景Button按钮、自定义形状Button的全攻略

在Android开发应用中,默认的Button是由系统渲染和管理大小的。而我们看到的成功的移动应用,都是有着酷炫的外观和使用体验的。因此,我们在开发产品的时候,需要对默认按钮进行美化。在本篇里,笔者结...

android自定义button样式

在Android开发应用中,默认的Button是由系统渲染和管理大小的。而我们看到的成功的移动应用,都是有着酷炫的外观和使用体验的。因此,我们在开发产品的时候,需要对默认按钮进行美化。在本篇里,笔者结...

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

在Android开发中经常会需要用到带文字和图片的button,下面来讲解一下常用的实现办法。 一.用系统自带的Button实现   最简单的一种办法就是利用系统自带的Button来实现,...

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

之前开发使用过自定义样式的Button,使用挺简单的,但也很常用,因此总结一下。      首先,自定义一个drawable文件custombutton.xml:...

android 自定义Button 及Animation的基本使用

在android开发中常用组件的使用是必不可少的,但是常用组件用来用去也就那么几种,满足不了开发者对应用界面的要求,更满足不了消费者对商业应用美观,大方,时尚的要求,所以说学会自定义各种组件十分必要。...
  • zhwycan
  • zhwycan
  • 2012年02月23日 16:34
  • 4298

Android自定义Button按钮显示样式

Android自定义Button按钮显示样式 关于listview和button都要改变android原来控件的背景,在网上查找了一些资料不是很全,所以现在总结一下android的select...

android自定义button样式【转】

在Android开发应用中,默认的Button是由系统渲染和管理大小的。而我们看到的成功的移动应用,都是有着酷炫的外观和使用体验的。因此,我们在开发产品的时候,需要对默认按钮进行美化。在本篇里,笔者结...
  • lucherr
  • lucherr
  • 2012年04月19日 11:56
  • 81294

Android 自定义实现switch开关按钮

前几天在看蘑菇街上有个开关按钮: 就在想是怎样实现的,于是反编译了它的源码,但是这时得到了下面的几张图片: 那我们就用这几张图片来实现类似的效果吧。 代码: SwitchButton类: pa...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于在AndroidStudio中自定义Button的样式
举报原因:
原因补充:

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