概述
android上原生的彈出框和ios原生的彈出框視覺差距較大,為了與ios的視覺效果類似抄沮,所以封裝了這個庫省古。
效果
特性
1粥庄、alert
普通彈出框,一般只有一個按鈕
2豺妓、confirm
確認彈出框惜互,一般帶兩個按鈕,一個取消琳拭,一個確認
3训堆、select
選擇列表
4、showWait/hideWait
等待框
使用
compile 'com.jzoom:android-alert:1.1'
示例代碼
public class MainActivity extends Activity implements AdapterView.OnItemClickListener {
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = findViewById(R.id.activity_main);
listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,getData()));
listView.setOnItemClickListener(this);
}
private List<String> getData(){
List<String> data = new ArrayList<String>();
data.add("標題alert");
data.add("標題內(nèi)容alert");
data.add("定制按鈕alert");
data.add("等待框");
data.add("等待框無文字");
data.add("確認");
data.add("選擇");
return data;
}
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
switch (i){
case 0:
Alert.alert(this, "我是一個彈出框", new Alert.AlertListener() {
@Override
public void onAlert(int buttonId) {
if(buttonId==Alert.OK){
Alert.toast(MainActivity.this,"點擊了ok");
}else{
Alert.toast(MainActivity.this,"取消了");
}
}
});
break;
case 1:
Alert.alert(this,"標題", "我是一個彈出框", new Alert.AlertListener() {
@Override
public void onAlert(int buttonId) {
if(buttonId==Alert.OK){
Alert.toast(MainActivity.this,"點擊了ok");
}else{
Alert.toast(MainActivity.this,"取消了");
}
}
});
break;
case 2:
Alert.builder(this).setButtons("我知道了")
.setButtonStyles(R.style.jzoom_button_danger).setCancelOnTouchOutside(true).setTitle("彈出框").alert(new Alert.AlertListener() {
@Override
public void onAlert(int buttonId) {
if(buttonId==Alert.OK){
Alert.toast(MainActivity.this,"點擊了ok");
}else{
Alert.toast(MainActivity.this,"取消了");
}
}
});
break;
case 3:
Alert.showWait(this,"請稍等...");
listView.postDelayed(new Runnable() {
@Override
public void run() {
Alert.hidelWait();
}
},2000);
break;
case 4:
Alert.showWait(this,null);
listView.postDelayed(new Runnable() {
@Override
public void run() {
Alert.hidelWait();
}
},2000);
break;
case 5:
Alert.confirm(this, "提示", "是否要退出登錄?", new Alert.AlertListener() {
@Override
public void onAlert(int buttonId) {
if(buttonId==Alert.OK){
Alert.toast(MainActivity.this,"點擊了ok");
}else{
Alert.toast(MainActivity.this,"點擊了cancel");
}
}
});
break;
case 6:
Alert.select(this, "請選擇",Arrays.asList("1","2","3"),0,new Alert.SelectListener(){
@Override
public void onSelect(int buttonId, int index) {
if(buttonId==Alert.OK){
Alert.toast(MainActivity.this,"選中下標為"+index);
}else{
Alert.toast(MainActivity.this,"取消");
}
}
});
break;
}
}
}