注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

沉默蜂B4A安卓编程

国内资料最全的B4A资料库

 
 
 

日志

 
 

进度条上绘制渐变色(版本一)  

2014-01-23 11:12:48|  分类: B4A例程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
进度条上绘制渐变色 - 沉默蜂QQ793136625 - 沉默蜂
图为例程效果图

#Region 代码说明

'版本:2014-02-23
'注解:沉默蜂(QQ793136625)
'博客:http://silentbees.blog.163.com

#End Region


#Region  Project Attributes 
#ApplicationLabel: B4A 示例
#VersionCode: 1
#VersionName: 
'SupportedOrientations(支持的方向) 值可以是: unspecified(未指定), landscape(纵向)或portrait(横向)。
#SupportedOrientations: unspecified
#CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes 
#FullScreen: False
#IncludeTitle: True
#End Region

Sub Process_Globals
'这里声明的全局变量在应用启动时被使用。
'这里声明的变量能被所有模块使用。

End Sub

Sub Globals

   Dim pb As ProgressBar '定义进度条对象

End Sub





Sub Activity_Create(FirstTime As Boolean)

   pb.Initialize("pb")
   
   Dim gd As GradientDrawable
   '库 Core > 类 GradientDrawable 用于绘制渐变颜色矩形区域,这个矩形可以有圆角
   
   gd.Initialize("TOP_BOTTOM", Array As Int(Colors.Blue, Colors.Red))
   'Initialize ( Orientation As Orientation, Colors As int[] ) 
   '第一个参数定义渐变的方向,有下列值供选择
'"TOP_BOTTOM" "顶部_底部" 
'"TR_BL" (Top-Right To Bottom-Left) (右上到左下) 
'"RIGHT_LEFT" "右_左" 
'"BR_TL" (Bottom-Right To Top-Left) "BR_TL" (左下到右上) 
'"BOTTOM_TOP" "底部_顶部" 
'"BL_TR" (Bottom-Left To Top-Right) "BL_TR" (左下到右上) 
'"LEFT_RIGHT" "左_右" 
'"TL_BR" (Top-Left To Bottom-Right) (左上到右下) 

   '第二个参数是一个定义渐变颜色的数组
   
   
   gd.CornerRadius = 3dip
   '定义矩形区域四角圆角半径
   
   SetProgressDrawable(pb, gd)
   '进度条上绘制渐变色
   

   pb.Progress = 50
   '设置当前进度条进度是多少
   
   
   Activity.AddView(pb, 10dip, 10dip, 300dip, 50dip)


End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub



Sub SetProgressDrawable(p As ProgressBar, drawable As Object)'在进度条上绘制渐变色

   Dim r As Reflector
   'Reflector 主要用来调用JAVA功能,即实现目前B4A暂时还没有提供的一些功能
   
   Dim clipDrawable As Object
   
   clipDrawable = r.CreateObject2( "android.graphics.drawable.ClipDrawable", _   
      Array As Object(drawable, Gravity.LEFT, 1), _
      Array As String ("android.graphics.drawable.Drawable", "java.lang.int", "java.lang.int"))
    '如果一行命令中参数太长,最尾可用_来表示下一行是同一行命令
   r.Target = p
   
   r.Target = r.RunMethod("getProgressDrawable")
   '获得图层
   
   r.RunMethod4("setDrawableByLayerId", _
      Array As Object(r.GetStaticField("android.R$id", "progress"), clipDrawable), _
      Array As String("java.lang.int", "android.graphics.drawable.Drawable"))
 
End Sub


 
  评论这张
 
阅读(171)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017