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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章