カスタムandroidポップアップ

4875 ワード

概要
Android上のオリジナルのポップアップボックスとiosオリジナルのポップアップボックスの視覚差が大きくiosの視覚効果と類似するようにこのライブラリをカプセル化した.
効果
とくせい
1、alert
通常のポップアップボックス、通常はボタンが1つしかありません
2、confirm
確認ポップアップボックスは、一般的に2つのボタン、1つのキャンセル、1つの確認があります.
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(this, android.R.layout.simple_expandable_list_item_1,getData()));
        listView.setOnItemClickListener(this);

    }

    private List getData(){

        List data = new ArrayList();
        data.add("  alert");
        data.add("    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;
        }
    }
}



ソースコード
https://github.com/jzoom/jzoom-android-alert