如何自定义android Button样式

 我来答
8558892
2017-04-04 · TA获得超过494个赞
知道小有建树答主
回答量:599
采纳率:79%
帮助的人:263万
展开全部

主要有2种方式进行自定义android button 的样式。

【主要方式】

  1. 自定义button样式。

  2. 自定义style样式。


【原理】

通过android sdk提供的方案进行自定义相关的android button的样式。

【详细实现步奏】

1.自定义button样式

主要是通过自定义背景图或者通过自定义selector的方式形成button的样式效果。

1.1图片的方式:

<?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/a1" ;/>
    <item android:state_focused="true" android:drawable="@drawable/a2" ;/>
    <item android:drawable="@drawable/a1" ;/>
</selector>

xm布局文件使用

<Button android:id="@+id/btn" 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content"
 android:background="@drawable/button_style"> 
</Button>

1.2  自定义selector的方式,selector 种使用以下属性进行自定义自己所需要的按钮样式。

gradient 主体渐变,startColor开始颜色,endColor结束颜色 ,    angle开始渐变的角度(值只能为90的倍数,0时为左到右渐变,90时为下到上渐变,依次逆时针类推)    stroke 边框 width 边框宽度,color 边框颜色,   corners 圆角 radius 半径,0为直角,    padding text值的相对位置。

2.自定义style样式

如下样式:

<resources xmlns:android="http://schemas.android.com/apk/res/android"> 
    <style name="AppBaseTheme" parent="android:Theme.Light"> 
    </style> 
    <style name="AppTheme" parent="AppBaseTheme"> 
    </style> 
     <style name="btnStyle">  
        <item name="android:textSize">30px</item>  
        <item name="android:width">15px</item> 
        <item name="android:height">15px</item> 
    </style> 
</resources>

xml文件中引用

<Button
       style="@style/btnStyle"        
       android:layout_width="wrap_content"     
       android:layout_height="wrap_content" 
       android:text="@string/hello_world" />

【最后】

2种方式组合使用效果更佳,效率更高,修改方便。

八维教育
2016-11-24 · 学高端技术就来八维教育
八维教育
北京八维教育是位于首都中关村上地信息产业园区的一所民办非学历高等教育机构。课程设置以市场需求为导向、以岗位要求为标准、为企业量身打造符合企业和市场需求的专业型人才。
向TA提问
展开全部
矢量图形绘制的方式
矢量图形绘制的方式实现简单,适合对于按钮形状和图案要求不高的场合。步骤如下:
(a) 使用xml定义一个圆角矩形,外围轮廓线实线、内填充渐变色
同样定义bg_alibuybutton_pressed.xml和bg_alibuybutton_selected.xml,内容相同,就是渐变颜色不同,用于按钮按下后的背景变化效果。
(b) 定义按钮按下后的效果变化描述文件drawable/bg_alibuybutton.xml
(c) 在你需要的界面定义文件中,如layout/main.xml中定义一个Button控件。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式