AndroidUI之样式Button
自己最近在学AndroidUI,想把好的UI样式记录下来分享给大家!
不多说先上效果图:
下面贴代码:
MainActivity:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import cc.turbosnail.uidemo.iml.ActionProcessButton;
import cc.turbosnail.uidemo.iml.GenerateProcessButton;
import cc.turbosnail.uidemo.iml.SubmitProcessButton;
import cc.turbosnail.uidemo.utils.ProgressGenerator;
public class MainActivity extends AppCompatActivity implements ProgressGenerator.OnCompleteListener,View.OnClickListener {
//============================================登录
public static final String EXTRAS_ENDLESS_MODE = “EXTRAS_ENDLESS_MODE”;
//============================================状态
private ActionProcessButton mBtnAction;
private GenerateProcessButton mBtnGenerate;
private SubmitProcessButton mBtnSubmit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ly_demo);
//==========================================================下载
final ProgressGenerator progressGenerator = new ProgressGenerator(this);
final GenerateProcessButton btnUpload =
(GenerateProcessButton) findViewById(R.id.btnUpload);
btnUpload.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
progressGenerator.start(btnUpload);
btnUpload.setEnabled(false);
}
});
//==========================================================登录
final EditText editEmail = (EditText) findViewById(R.id.editEmail);
final EditText editPassword = (EditText) findViewById(R.id.editPassword);
final ProgressGenerator progressGenerator2 = new ProgressGenerator(this);
final ActionProcessButton btnSignIn = (ActionProcessButton) findViewById(R.id.btnSignIn);
Bundle extras = getIntent().getExtras();
if(extras != null && extras.getBoolean(EXTRAS_ENDLESS_MODE)) {
btnSignIn.setMode(ActionProcessButton.Mode.ENDLESS);
} else {
btnSignIn.setMode(ActionProcessButton.Mode.PROGRESS);
}
btnSignIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
progressGenerator2.start(btnSignIn);
btnSignIn.setEnabled(false);
editEmail.setEnabled(false);
editPassword.setEnabled(false);
}
});
//======================================================================状态
mBtnAction = (ActionProcessButton) findViewById(R.id.btnAction);
mBtnSubmit = (SubmitProcessButton) findViewById(R.id.btnSubmit);
mBtnGenerate = (GenerateProcessButton) findViewById(R.id.btnGenerate);
findViewById(R.id.btnProgressLoading).setOnClickListener(this);
findViewById(R.id.btnProgressError).setOnClickListener(this);
findViewById(R.id.btnProgressComplete).setOnClickListener(this);
findViewById(R.id.btnProgressNormal).setOnClickListener(this);
//======================================================================信息
final EditText editMessage = (EditText) findViewById(R.id.editMessage);
final ProgressGenerator progressGenerator3 = new ProgressGenerator(this);
final SubmitProcessButton btnSend = (SubmitProcessButton) findViewById(R.id.btnSend);
btnSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
progressGenerator3.start(btnSend);
btnSend.setEnabled(false);
editMessage.setEnabled(false);
}
});
}
@Override
public void onComplete() {
Toast.makeText(this, R.string.Loading_Complete, Toast.LENGTH_LONG).show();
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnProgressLoading:
mBtnAction.setProgress(50);
mBtnSubmit.setProgress(50);
mBtnGenerate.setProgress(50);
break;
case R.id.btnProgressError:
mBtnAction.setProgress(-1);
mBtnSubmit.setProgress(-1);
mBtnGenerate.setProgress(-1);
break;
case R.id.btnProgressComplete:
mBtnAction.setProgress(100);
mBtnSubmit.setProgress(100);
mBtnGenerate.setProgress(100);
break;
case R.id.btnProgressNormal:
mBtnAction.setProgress(0);
mBtnSubmit.setProgress(0);
mBtnGenerate.setProgress(0);
break;
}
}
项目代码:https://download.csdn.net/download/baidu_38262490/10468946
Gitup地址:https://github.com/dmytrodanylyk/android-process-button
后面还会有各种AndroidUI,大家多多支持!
推荐阅读
-
Android开发之Button事件实现与监听方法总结
-
WPF自定义控件和样式之自定义按钮(Button)
-
Android开发之Button事件实现与监听方法总结
-
DevExpress之ChartControl创建Drill-Down样式的Title实例
-
在ASP.NET 2.0中操作数据之四十五:DataList和Repeater里的自定义Button
-
DevExpress之ChartControl创建Drill-Down样式的Title实例
-
Android控件系列之Button以及Android监听器使用介绍
-
WPF自定义控件和样式之自定义按钮(Button)
-
IOS代码笔记之勾选"记住密码"整体button
-
在ASP.NET 2.0中操作数据之四十五:DataList和Repeater里的自定义Button