欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

AndroidUI之样式Button

程序员文章站 2022-05-31 08:33:13
...

自己最近在学AndroidUI,想把好的UI样式记录下来分享给大家!
不多说先上效果图:

AndroidUI之样式Button

下面贴代码:

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,大家多多支持!

相关标签: Button