Android自定义图形shape

在Android开发过程中,经常需要改变控件的默认样式, 那么通常会使用多个图片来解决。不过这种方式可能需要多个图片,比如一个按钮,需要点击时的式样图片,默认的式样图片。 这样就容易使apk变大。另一种方式就是使用自定义图形来改变控件样式。

自定义图形shape有以下几种属性

1.solid:填充

2.gradient:对应颜色渐变。 startcolor、endcolor就不多说了。 android:angle 是指从哪个角度开始变

3.stroke:描边

4.corners:圆角

5.padding:间距 定义内容离边界的距离

实现步骤:

1.在drawable文件下创建一个my_shape.xml文件。

2.在my_shape.xml文件中编写样式代码

  <shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <solid android:color="#ffffffff" />

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

    <padding android:bottom="5dp" android:top="5dp" android:left="5dp" android:right="5dp"/>

    <stroke android:width="1dp" android:color="#ff00bbe8"/>
  </shape>

3.在使用的控件中设置android:[email protected]/my_shape,也可以在style样式文件中设置。

效果图如下:

时间: 2024-10-09 22:34:41

Android自定义图形shape的相关文章

Android自定义Button按钮显示样式 转http://my.oschina.net/amigos/blog/63009

首先写一个定义Button样式的XML文件: 新建Android XML文件,类型选Drawable,根结点选selector,文件名就buton_style吧 ? 1 2 3 4 5 6 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android">     <i

Android之用自定义的shape去实现shadow效果

直接上xml文件, 并且附上相应的解析: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> <layer-list> <!-- 相当于p

Android自定义矩形及selector、shape的使用

[声明]转载请注明出处,此文出自指尖飞落的博客:http://blog.csdn.net/huntersnail --每天写一篇博客,每天做一点技术积累! 由于项目开发需要,以前虽然用过selector.shape但是都没有好好去研究过,只知道用,不知道它们的属性具体有哪些作用.虽然网上一查就都知道了,感觉还是要自己去弄懂一下. 下面咱们一起去研究下: 一.xml布局文件 /测试Demo/res/layout/check_box.xml <?xml version="1.0" e

Android 自定义shape圆形按钮

Shape的属性: solid 描述:内部填充 属性:android:color 填充颜色 size 描述:大小 属性: android:width 宽 android:height 高 gradient 描述:渐变色 属性: android:startColor渐变起始颜色 android:endColor渐变结束颜色 android:centerColor渐变中间颜色 android:angle 渐变的角度,angle=0时,渐变色是从左向右,然后逆时针方向转:当angle=90时,渐变色从

Android自定义TextView的Shape,修改EditText光标颜色

先看一下效果图: 代码实现: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 实心 --> <solid android:color="@android:color/white" /> <!-- 边框

Android 自定义View之BounceProgressBar

之前几天下载了很久没用了的桌面版酷狗来用用的时候,发现其中加载歌曲的等待进度条的效果不错(个人感觉),如下: 然后趁着这周末两天天气较冷,窝在宿舍放下成堆的操作系统作业(目测要抄一节多课的一堆堆文字了啊...啊..)毅然决定把它鼓捣出来,最终的效果如下(总感觉有点不和谐啊·): 对比能看出来的就是多了形状的选择还有使用图片了,那么接下来就是它的实现过程. 对自定义View实现还不明白的建议看下郭神的博客(View系列4篇): Android LayoutInflater原理分析,带你一步步深入了

Android自定义视图教程

Android自定义视图教程 Android的UI元素都是基于View(屏幕中单个元素)和ViewGroup(元素的集合),Android有许多自带的组件和布局,比如Button.TextView.RelativeLayout.在app开发过程中我们需要自定义视图组件来满足我们的需求.通过继承自View或者View的子类,覆写onDraw或者onTouchEvent等方法来覆盖视图的行为. 创建完全自定义的组件 创建自定义的组件主要围绕着以下五个方面: 绘图(Drawing): 控制视图的渲染,

Android自定义ViewGroup,内容过长时可设置&quot;...&quot;截断

一.效果 二.实现 1.自定义View public class FeatureGroupView extends ViewGroup{ //itemSpaceVertical为列与列之间的间距 private int itemSpaceVertical, itemSpaceHorizontal, maxLineNum; private int paddingTop, paddingBottom, paddingLeft, paddingRight; private int moreTextCo

Android 自定义 View 实现通讯录字母索引(仿微信通讯录)

一.效果:我们看到很多软件的通讯录在右侧都有一个字母索引功能,像微信,小米通讯录,QQ,还有美团选择地区等等.这里我截了一张美团选择城市的图片来看看: 我们今天就来实现图片中右侧模块的索引功能,包括触摸显示以选中的索引字母.这里我的UI界面主要是参照微信的界面来实现,所以各位也可以对照微信来看看效果,什么都不说了,只有效果图最具有说服力! 二.分析: 我们看到这样的效果我们心理都回去琢磨,他是如何实现的: 首先,它肯定是通过自定义 View 来实现的,因为 Android 没有提供类似这样的控件