Android 使用shape来优化界面效果

简介:

    前些天去参加了一个公开课,说到了我们很多程序对美工比较不在行,所以需要与UI工程师合作,但是有时候UI工程师忙其他的什么,我们既不会PS也不会AI。于是乎在android中我们可以通过shape来定制我们需要的图形效果等。

    下午研究了下shape,众所周知shape是形状的意思。网络上的例子太多看的真让人眼花缭乱,自己总结了下,以如何使用shape来做圆角按钮的背景来说明shape的具体使用吧。

   看下效果图

    

   具体实现代码:

  


 
 
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android" > 
  3.      <!-- 填充 --> 
  4.     <solid  
  5.         android:color="#B2B2B2"  
  6.         /> 
  7.     
  8.     <!-- 大小 --> 
  9.     <size 
  10.         android:width="200dp" 
  11.         android:height="50dp" 
  12.         />  
  13.  
  14.      <!-- 渐变色 --> 
  15.     <gradient  
  16.         android:startColor="#DBDCDD" 
  17.         android:endColor="#B8B9BB" 
  18.         android:centerColor="#ADADAF" 
  19.         android:angle="270"   
  20.         /> 
  21.   
  22.      
  23.     <!-- 描边 --> 
  24.     <stroke  
  25.         android:width="2dp" 
  26.         android:color="#3D4148"   
  27.         />  
  28.          
  29.     <!-- 圆角 --> 
  30.     <corners   
  31.        android:radius="5dp"   
  32.         /> 
  33.   
  34.     <padding  
  35.         android:left="10dp" 
  36.         android:top="10dp" 
  37.         android:right="10dp" 
  38.         android:bottom="10dp" 
  39.         /> 
  40.  
  41. </shape> 
  42.  
  43. <!--  
  44.  
  45. 1、  solid  
  46.      描述:内部填充 
  47.       属性     android:color 填充颜色 
  48.  
  49.  
  50. 2、size  
  51.      描述:size: 大小 
  52.      属性: 
  53.      android:width   表示形状的宽度 
  54.      android:height 表示形状的高度 
  55.  
  56. 3、gradient 
  57.       
  58.       描述: 渐变色 
  59.     
  60.        属性: 
  61.        android:startColor  起始颜色 
  62.        android:endColor    结束颜色 
  63.        android:angle       渐变角度(PS:当angle=0时,渐变色是从左向右。 然后逆时针方向转,当angle=90时为从下往上。angle必须为45的整数倍) 
  64.        android:type       渐变类型(取值:linear、radial、sweep) 
  65.                             linear  线性渐变,这是默认设置 
  66.                             radial  放射性渐变,以开始色为中心。 
  67.                             sweep   扫描线式的渐变。 
  68.        android:centerColor  渐变中间颜色,即开始颜色与结束颜色之间的颜色 
  69.        android:useLevel   如果要使用LevelListDrawable对象,就要设置为true。设置为true无渐变。false有渐变色 
  70.        android:gradientRadius  渐变色半径.当 android:type="radial" 时才使用。单独使用 android:type="radial"会报错。 
  71.        android:centerX    渐变中心X点坐标的相对位置 
  72.        android:centerY   渐变中心Y点坐标的相对位置 
  73. 4、stroke 
  74.  
  75.     描述: stroke:描边  相当于html中的盒子模型的border 
  76.          
  77.    属性: 
  78.         android:width 描边的宽度 
  79.         android:color 描边的颜色 
  80.         android:dashWidth 表示描边的样式是虚线的宽度, 
  81.                                                              值为0时,表示为实线。值大于0则为虚线。 
  82.         android:dashGap  表示描边为虚线时,虚线之间的间隔 即“ - - - - ” 
  83.          
  84.  5、corners 
  85.   
  86.          描述: corners: 圆角 
  87.       
  88.         属性: 
  89.         android:radius  半径 
  90.         android:topLeftRadius  左上角半径 
  91.         android:topRightRadius  右上角半径 
  92.         注意一下两个属性比较不同: 
  93.         android:bottomLeftRadius 右下角半径 
  94.         android:bottomRightRadius 左下角半径 
  95.  6、padding 
  96.            
  97.           描述:内部边距,即内容与边的距离 
  98.            
  99.          属性: 
  100.         android:left  左内边距 
  101.         android:top   上内边距 
  102.         android:right  右内边距 
  103.         android:bottom 下内边距 
  104.  --> 

    


本文转自xuzw13 51CTO博客,原文链接:http://blog.51cto.com/xuzhiwei/972188,如需转载请自行联系原作者

相关文章
|
5月前
|
移动开发 监控 前端开发
构建高效Android应用:从优化布局到提升性能
【7月更文挑战第60天】在移动开发领域,一个流畅且响应迅速的应用程序是用户留存的关键。针对Android平台,开发者面临的挑战包括多样化的设备兼容性和性能优化。本文将深入探讨如何通过改进布局设计、内存管理和多线程处理来构建高效的Android应用。我们将剖析布局优化的细节,并讨论最新的Android性能提升策略,以帮助开发者创建更快速、更流畅的用户体验。
77 10
|
4月前
|
存储 缓存 编解码
Android经典面试题之图片Bitmap怎么做优化
本文介绍了图片相关的内存优化方法,包括分辨率适配、图片压缩与缓存。文中详细讲解了如何根据不同分辨率放置图片资源,避免图片拉伸变形;并通过示例代码展示了使用`BitmapFactory.Options`进行图片压缩的具体步骤。此外,还介绍了Glide等第三方库如何利用LRU算法实现高效图片缓存。
78 20
Android经典面试题之图片Bitmap怎么做优化
|
3月前
|
调度 Android开发 开发者
构建高效Android应用:探究Kotlin多线程优化策略
【10月更文挑战第11天】本文探讨了如何在Kotlin中实现高效的多线程方案,特别是在Android应用开发中。通过介绍Kotlin协程的基础知识、异步数据加载的实际案例,以及合理使用不同调度器的方法,帮助开发者提升应用性能和用户体验。
73 4
|
2月前
|
安全 Android开发 iOS开发
深入探索iOS与Android系统的差异性及优化策略
在当今数字化时代,移动操作系统的竞争尤为激烈,其中iOS和Android作为市场上的两大巨头,各自拥有庞大的用户基础和独特的技术特点。本文旨在通过对比分析iOS与Android的核心差异,探讨各自的优势与局限,并提出针对性的优化策略,以期为用户提供更优质的使用体验和为开发者提供有价值的参考。
|
3月前
|
XML 数据可视化 Android开发
Android应用界面
Android应用界面中的布局和控件使用,包括相对布局、线性布局、表格布局、帧布局、扁平化布局等,以及AdapterView及其子类如ListView的使用方法和Adapter接口的应用。
38 0
Android应用界面
|
4月前
|
XML Android开发 UED
💥Android UI设计新风尚!掌握Material Design精髓,让你的界面颜值爆表!🎨
随着移动应用市场的蓬勃发展,用户对界面设计的要求日益提高。为此,掌握由Google推出的Material Design设计语言成为提升应用颜值和用户体验的关键。本文将带你深入了解Material Design的核心原则,如真实感、统一性和创新性,并通过丰富的组件库及示例代码,助你轻松打造美观且一致的应用界面。无论是色彩搭配还是动画效果,Material Design都能为你的Android应用增添无限魅力。
95 1
|
4月前
|
Java Android开发 开发者
安卓应用开发中的线程管理优化技巧
【9月更文挑战第10天】在安卓开发的海洋里,线程管理犹如航行的风帆,掌握好它,能让应用乘风破浪,反之则可能遭遇性能的暗礁。本文将通过浅显易懂的语言和生动的比喻,带你探索如何优雅地处理安卓中的线程问题,从基础的线程创建到高级的线程池运用,让你的应用运行更加流畅。
|
4月前
|
Java Android开发 UED
安卓应用开发中的内存管理优化技巧
在安卓开发的广阔天地里,内存管理是一块让开发者既爱又恨的领域。它如同一位严苛的考官,时刻考验着开发者的智慧与耐心。然而,只要我们掌握了正确的优化技巧,就能够驯服这位考官,让我们的应用在性能和用户体验上更上一层楼。本文将带你走进内存管理的迷宫,用通俗易懂的语言解读那些看似复杂的优化策略,让你的开发之路更加顺畅。
82 2
|
5月前
|
Ubuntu Android开发
安卓系统调试与优化:(一)bootchart 的配置和使用
本文介绍了如何在安卓系统中配置和使用bootchart工具来分析系统启动时间,包括安装工具、设备端启用bootchart、PC端解析数据及分析结果的详细步骤。
247 0
安卓系统调试与优化:(一)bootchart 的配置和使用
|
4月前
|
监控 算法 数据可视化
深入解析Android应用开发中的高效内存管理策略在移动应用开发领域,Android平台因其开放性和灵活性备受开发者青睐。然而,随之而来的是内存管理的复杂性,这对开发者提出了更高的要求。高效的内存管理不仅能够提升应用的性能,还能有效避免因内存泄漏导致的应用崩溃。本文将探讨Android应用开发中的内存管理问题,并提供一系列实用的优化策略,帮助开发者打造更稳定、更高效的应用。
在Android开发中,内存管理是一个绕不开的话题。良好的内存管理机制不仅可以提高应用的运行效率,还能有效预防内存泄漏和过度消耗,从而延长电池寿命并提升用户体验。本文从Android内存管理的基本原理出发,详细讨论了几种常见的内存管理技巧,包括内存泄漏的检测与修复、内存分配与回收的优化方法,以及如何通过合理的编程习惯减少内存开销。通过对这些内容的阐述,旨在为Android开发者提供一套系统化的内存优化指南,助力开发出更加流畅稳定的应用。
92 0