Android——个性化Progress电池显示视图

Posted 化作孤岛的瓜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android——个性化Progress电池显示视图相关的知识,希望对你有一定的参考价值。

项目中需要用到的效果,图示如下:


既一个显示电量槽的ProgressBar。

一开始没想到可以通过ProgressBar直接实现,想的是通过一个电池图的遮盖,然后再用canvas画内部的红色长方形实现的。

后面知道了居然可以直接用ProgressBar写。。。下面讲一下具体怎么实现的,这个也可以收藏起来以后参考用。


实现步骤:

1.首先实现ProgressBar的布局,这里需要设置style为水平进度条:progressBarStyleHorizontal

  <ProgressBar
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:id="@+id/pgb_battery"
        android:layout_width="100dp"
        android:layout_height="50dp"
        android:max="100"
        android:progress="50"
        android:progressDrawable="@drawable/layer_qidong"
        style="?android:attr/progressBarStyleHorizontal" />
2.关键的部分。实现Progressbar自定义的 layer-list:

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

    <!-- 背景  gradient是渐变,corners定义的是圆角 -->
    <item android:id="@android:id/background">
        <nine-patch

            android:dither="true"
            android:src="@drawable/ic_dianchi" />
    </item>
    <!-- 进度条 -->
    <item android:id="@android:id/progress">
        <scale
            android:scaleWidth="98%">
            <shape>
                <corners android:radius="5dp" />
                <gradient
                    android:angle="90"
                    android:endColor="#e3304d"
                    android:startColor="#aa243a" />

            </shape>
        </scale>
    </item>

</layer-list>

其中背景用的是.9图防止拉伸导致电池的图片模糊。

进度条采用了一点渐变处理,就能完美的实现了项目中所用到的效果了。


以上是关于Android——个性化Progress电池显示视图的主要内容,如果未能解决你的问题,请参考以下文章

Android面试题之Progress控件通过10秒的时间完成进度显示

android 自定义View绘制电池电量(电池内带数字显示)

android 电池:android关机充电流程充电画面显示

Android 开发:显示电池电量

Android 电池关机充电

Android 怎样控制电量百分比是不是显示