1、概述

安卓系统的ProcessBar 有横的竖的 还有圆的。

普通的进度条用系统的修改style 就可以实现。SeekBar样式和processBar类似,多了一个可以拖动的小图片


2、实现

2.1布局xml

<ProgressBar
android:id="@+id/bar"
style="@style/ProgressBar_load_gray"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />


2.2 style xml

<style name="ProgressBar_load_gray">
<item name="android:maxHeight">16dip</item>
<item name="android:minHeight">1dip</item>
<item name="android:indeterminateOnly">false</item>
<item name="android:progressDrawable">@drawable/progress_horizontal_normal_gray</item>
<item name="android:indeterminateDrawable">@android:drawable/progress_indeterminate_horizontal</item>
</style>


2.3 drawable xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

<item android:id="@android:id/background">
<shape>
<corners android:radius="5dp"/>
<solid android:color="@android:color/black" />
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<corners android:radius="5dp"/>
<solid android:color="@android:color/black" />
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="5dp"/>
<solid android:color="#ff4666" />
</shape>
</clip>
</item>


</layer-list>


2.4 如果是圆环形的processBar(无需进度显示的进度条) 就不用那么麻烦了 直接把

<item name="android:indeterminateDrawable">@android:drawable/progress_indeterminate_horizontal</item>

这个属性设成圆环自己就会转了

或者 直接设置该属性

<ProgressBar
android:id="@+id/bar"
android:indeterminateDrawable="@drawable/progressbar_bg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />


3、SeekBar

<style name="MediaController_SeekBar">
<item name="android:minHeight">5dip</item>
<item name="android:maxHeight">5dip</item>
<item name="android:progressDrawable">@drawable/mediacontroller_seekbar</item>
<item name="android:thumb">@drawable/icon_media_ctr</item> <!-- 小图片 -->
</style>


4、ps saq 在做tv app的时候遇到个问题


问题描述:卡片在获取焦点的时候,需求是要放大,放大了之后,进度条继续向前走就底部就出现了间隙

解决:让卡片重新绘制ui 调用卡片的view.invalidate(); 方法


更多相关文章

  1. 领略千变万化的Android(安卓)Drawable (一)
  2. android在代码中设置margin属性
  3. android2.3中webkit在webview的一个更新
  4. Android(安卓)UI设计:GridView
  5. Activity的属性之—launchMode
  6. 【Android】使用persist属性来调用脚本文件
  7. Android属性动画---Property Animation(四)
  8. 上中下布局,上下高度指定,中间自适应(左中右同理)
  9. android基本属性

随机推荐

  1. 转载 Android仿今日头条详情页实现
  2. Android 内存溢出解决方案(OOM)
  3. eclipse再见,android studio 新手入门教程
  4. Android UI Design Tips(Google官方出品:A
  5. 【android基础】之编写最简单的android谷
  6. Android(安卓)集成支付宝SDK实现快捷支付
  7. 说说我招聘android技术人员的思路(eoe and
  8. Android 6.0以上权限拒绝打开权限设置界
  9. 自定义弹窗的制作
  10. android 笔记 --- Android安全机制之设备