Android系统的进度条控件默认的设计的不是很周全,比如没有包含文字的显示,那么如何在Android进度条控件上显示文字呢? 来自Google内部的代码来了解下,主要使用的addView这样的方法通过覆盖一层Chronometer秒表控件来实现,整个代码如下 public class TextProgressBar extends RelativeLayout implements OnChronometerTickListener { public static final String TAG = "TextProgressBar"; static final int CHRONOMETER_ID = android.R.id.text1; static final int PROGRESSBAR_ID = android.R.id.progress; Chronometer mChronometer = null; ProgressBar mProgressBar = null; long mDurationBase = -1; int mDuration = -1; boolean mChronometerFollow = […]
Android控件
Android控件美化Shape你会用吗? Android开发技术
如果你对Android系统自带的UI控件感觉不够满意,可以尝试下自定义控件,我们就以Button为例,很早以前Android123就写到过Android Button按钮控件美化方法里面提到了xml的selector构造。当然除了使用drawable这样的图片外今天Android开发网谈下自定义图形shape的方法,对于Button控件Android上支持以下几种属性shape、gradient、stroke、corners等。 我们就以目前系统的Button的selector为例说下: <shape> <gradient android:startColor="#ff8c00" android:endColor="#FFFFFF" android:angle="270" /> <stroke android:width="2dp" android:color="#dcdcdc" /> <corners android:radius="2dp" /> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </shape> 对于上面,这条shape的定义,分别为渐变,在gradient中startColor属性为开始的颜色,endColor为渐变结束的颜色,下面的angle是角度。接下来是stroke可以理解为边缘,corners为拐角这里radius属性为半径,最后是相对位置属性padding。 对于一个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="#ff8c00" android:endColor="#FFFFFF" android:angle="270" /> <stroke android:width="2dp" android:color="#dcdcdc" /> <corners android:radius="2dp" /> <padding android:left="10dp" android:top="10dp" android:right="10dp" […]
Android控件对应表,丰富你的UI设计 Android开发技术
在Android平台上提供给大家很多丰富的控件,设计一个漂亮的UI在Android平台下可以说是最简单的事情了。 ListView – 列表控件,系统中的通话记录每一条就是使用这个控件编写的。 GridView – 网格控件,我们常见的n宫格设计就是出自这个控件。 TabHost和TabWidget – 这两个组合可以实现标签页的显示效果,类似IE7的一个窗口可以切换多个页面。 ExpandableListView – 这个其实就是TreeView控件,可以实现树状图显示,对于分级显示的内容很方便。 ImageSwitcher 和 Gallery – 图片浏览控件,可以很容易实现类似iPhone上面的Coverflow效果,Android平台自带的控件还是很人性化的。 AnalogClock – 经典桌面Widget的两根针钟表控件,换两个指针以及表盘就可以实现自己的钟表,很轻松哦。 VideoView – 目前绝大多数的Android视频播放器都是使用了VideoView如果有的网友说我使用的是SurfaceView呢? Android开发网明确告诉你吧,你的代码可能就是从开源的VideoView中改造而来的,只不过自定义了一个名称这么简单,所以说Android的应用层开发更像搭积木。 有关运行的效果,Android123建议大家运行SDK目录下的ApiDemo在模拟器和真机上更好的体验,静态图片无法演示出控件实际的运行效果。

