android定义水平,android 自己定义水平和圆形progressbar 仅仅定义一些style就能够

效果图:

GBJr3ylR50

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

改动progressbar 让他满足自己的需求一般来说仅仅改动一下,progressbar的style就能够满足需求了:

activity代码:只显示一个布局而已

package com.example.testcustomprogressbar;

import android.app.Activity;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

}

xml界面:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context="com.example.testcustomprogressbar.MainActivity" >

android:id="@+id/my_customprogressbar1"

style="@style/mycustom_progressbar1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentTop="true"

android:layout_centerHorizontal="true" />

android:id="@+id/my_customprogressbar2"

style="@style/mycustom_progressbar2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignLeft="@+id/my_customprogressbar1"

android:layout_below="@+id/my_customprogressbar1"

android:layout_marginTop="26dp" />

android:id="@+id/my_customprogressbar3"

style="@style/mycustom_progressbar3"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignLeft="@+id/my_customprogressbar2"

android:layout_below="@+id/my_customprogressbar2"

android:layout_marginTop="26dp" />

android:id="@+id/my_customprogressbar4"

style="@style/mycustom_progressbar_hor"

android:layout_width="200dp"

android:layout_height="wrap_content"

android:layout_below="@+id/my_customprogressbar3"

android:layout_centerHorizontal="true"

android:layout_marginTop="22dp"

android:max="100"

android:progress="40"

android:secondaryProgress="60" />

android:id="@+id/my_customprogressbar5"

style="@style/mycustom_progressbar_hor2"

android:layout_width="200dp"

android:layout_height="wrap_content"

android:layout_alignLeft="@+id/my_customprogressbar4"

android:layout_below="@+id/my_customprogressbar4"

android:layout_marginTop="26dp"

android:max="100"

android:progress="40"

android:secondaryProgress="60" />

第一种圆形progressbar 只让一个图片旋转起来:

style的代码:

@drawable/progressbar_ver_image

30dp

30dp

60dp

60dp

progressbar_ver_image的代码:

xml version="1.0" encoding="utf-8"?>

android:drawable="@drawable/resizeapi"

android:fromDegrees="0"

android:pivotX="50%"

android:pivotY="50%"

android:toDegrees="360" >

另外一种圆形progressbar 使用一个动画:

style:

@drawable/progressbar_ver_animation

60dp

60dp

100dp

100dp

progressbar_ver_animation的代码:

android:drawable="@drawable/ok1"

android:duration="250"/>

android:drawable="@drawable/ok2"

android:duration="250"/>

android:drawable="@drawable/ok3"

android:duration="250"/>

android:drawable="@drawable/ok4"

android:duration="250"/>

第三种圆形progressbar 使用shape来构建drawable:

@drawable/progressbar_ver_shape

60dp

60dp

100dp

100dp

progressbar_ver_shape的代码:

android:fromDegrees="0"

android:pivotX="50%"

android:pivotY="50%"

android:toDegrees="360" >

android:innerRadiusRatio="3"

android:shape="ring"

android:thicknessRatio="8"

android:useLevel="false" >

android:centerColor="#FFFFFF"

android:centerY="0.50"

android:endColor="#1E90FF"

android:startColor="#000000"

android:type="sweep"

android:useLevel="false" />

第四种: 横向progressbar 复制粘贴系统的style,然后改动:

android:startColor="#ffff0000"

android:centerColor="#ffff0000"

android:centerY="0.75"

android:endColor="#ffff0000"

android:angle="270"

/>

android:startColor="#800000ff"

android:centerColor="#800000ff"

android:centerY="0.75"

android:endColor="#800000ff"

android:angle="270"

/>

>

android:startColor="#ff00ff00"

android:centerColor="#ff00ff00"

android:centerY="0.75"

android:endColor="#ff00ff00"

android:angle="270"

/>

这样直接在progressbar中引用该style就能够满足需求了,当然我们也能够把progressbar background progress secondprogress都分别定义成一个drawable,然后使用:

background:

android:angle="270"

android:centerColor="#ffff0000"

android:centerY="0.75"

android:endColor="#ffff0000"

android:startColor="#ffff0000" />

progress:

android:angle="270"

android:centerColor="#ff00ff00"

android:centerY="0.75"

android:endColor="#ff00ff00"

android:startColor="#ff00ff00" />

secondprogress:

android:angle="270"

android:centerColor="#800000ff"

android:centerY="0.75"

android:endColor="#800000ff"

android:startColor="#800000ff" />

这个时候style中的代码就会清晰一点:

xml version="1.0" encoding="utf-8"?

>

android:id="@android:id/background"

android:drawable="@drawable/progressbar_hor_bg">

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值