自己最近在學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,大家多多支持!