Android之Button点击样式类库ActionProcessButton的使用
来源:互联网 发布:机械加工编程软件 编辑:程序博客网 时间:2024/05/16 01:44
一.简介:实现Button的样式改变,丰富Button点击效果的样式。
详情介绍和源码下载:https://github.com/dmytrodanylyk/android-process-button
二.效果:(这只是其中一种)
三.实现方式:
第一步:添加类库:下载地址:http://download.csdn.net/detail/u012372365/9624142
第二步:依赖工具类ProgressGenerator
package button.button_style_0907;import android.os.Handler;import com.dd.processbutton.ProcessButton;import java.util.Random;public class ProgressGenerator { public interface OnCompleteListener { public void onComplete(); } private OnCompleteListener mListener; private int mProgress; public ProgressGenerator(OnCompleteListener listener) { mListener = listener; } public void start(final ProcessButton button) { final Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { mProgress += 10; button.setProgress(mProgress); if (mProgress < 100) { handler.postDelayed(this, generateDelay()); } else { mListener.onComplete(); } } }, generateDelay()); } private Random random = new Random(); private int generateDelay() { return random.nextInt(1000); }}
第三步:实现类
package button.button_style_0907;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Toast;import com.dd.processbutton.iml.ActionProcessButton;public class MainActivity extends Activity implements ProgressGenerator.OnCompleteListener{ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.a); //定义:ProgressGenerator final ProgressGenerator progressGenerator = new ProgressGenerator(this); final ActionProcessButton btnSignIn = (ActionProcessButton) findViewById(R.id.btnSignIn); btnSignIn.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { progressGenerator.start(btnSignIn); btnSignIn.setEnabled(false); } }); } public void onComplete() { Toast.makeText(this, "开始结束......", Toast.LENGTH_LONG).show(); }}
xml样式:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:custom="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <com.dd.processbutton.iml.ActionProcessButton android:id="@+id/btnSignIn" android:layout_width="match_parent" android:layout_height="48dp" android:layout_marginBottom="16dp" android:text="登录" android:textColor="@android:color/white" android:textSize="18sp" custom:pb_colorComplete="@color/green_complete" custom:pb_colorNormal="@color/blue_normal" custom:pb_colorPressed="@color/blue_pressed" custom:pb_colorProgress="@color/purple_progress" custom:pb_textComplete="成功加载" custom:pb_textProgress="开始加载" /></LinearLayout>
0 0
- Android之Button点击样式类库ActionProcessButton的使用
- Android之Button样式
- Android button按钮带圆角点击效果的样式
- Android使用纯XML代码定制简单的Button样式
- Android Button的点击事件
- android 实现button的点击
- Android控件之Button点击事件监听器的绑定
- Android之Button按钮点击事件的三种方式
- Android之Button按钮点击事件的三种方法
- Android之Button点击事件处理的几种方式
- Android之Button按钮点击事件的四种方式
- android使用xml自定义button样式
- Android开发之Button组件的使用
- Android入门级之Button的使用
- Android之Button自定义点击效果
- Android之Button自定义点击效果
- Android之Button自定义点击效果
- Android之Button自定义点击效果
- VS2010未能加载 'VSTS for Database Professionals'包的解决办法
- 按要求分解字符串,输入两个数M,N;M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0。例如:输入2,8, “abc” ,“123456789”,则输出为“abc00000”,“12345
- 基础备忘:C++ 自由存储区是否等价于堆?
- 关于ie7、8 DOM上属性的获取
- select 用法
- Android之Button点击样式类库ActionProcessButton的使用
- 什么是IaaS, PaaS和SaaS及其区别
- oracle11g的完全删除
- <authentication mode="Forms"> <forms loginUrl="~/Authentication/Login"></forms>
- jQuery适合移动设备触摸屏的响应式幻灯片插件
- Linux系统搭建Red5服务器
- 咯lol
- 原创——电商网站(部分)
- hadoop virtual memory limits