Android美麗的對話方塊項目sweet-alert-dialog

來源:互聯網
上載者:User

標籤:test   nal   ++   glib   image   版本號碼   set   icon   touch   

美麗的對話方塊 sweet-alert-dialog

項目地址: https://github.com/pedant/sweet-alert-dialog

android原生的dialog太生硬了,之前看到了這個效果很不錯可是沒實用過,今天給別人推薦使用,他遇到了問題,匯入後錯誤許多,也沒有庫project。於是自己認真看了一下,這是個AndroidStudio的project。而且裡面還依賴於materialish-progressproject,也是個AS的project。於是打算弄一個eclipse的版本號碼而且將這兩個project融合在一起作為一個庫projectXAlertDialogLibrary。

使用時將其作為庫匯入項目中就可以。

效果例如以下

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2F1Y2h5d2VpZXJzdHJhc3M=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2F1Y2h5d2VpZXJzdHJhc3M=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

使用起來很easy,測試代碼例如以下:

MainActivity.java

public class MainActivity extends Activity implements View.OnClickListener {    private int i = -1;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        findViewById(R.id.basic_test).setOnClickListener(this);        findViewById(R.id.under_text_test).setOnClickListener(this);        findViewById(R.id.error_text_test).setOnClickListener(this);        findViewById(R.id.success_text_test).setOnClickListener(this);        findViewById(R.id.warning_confirm_test).setOnClickListener(this);        findViewById(R.id.warning_cancel_test).setOnClickListener(this);        findViewById(R.id.custom_img_test).setOnClickListener(this);        findViewById(R.id.progress_dialog).setOnClickListener(this);    }    @Override    public void onClick(View v) {        switch (v.getId()) {            case R.id.basic_test:                // default title "Here's a message!"                SweetAlertDialog sd = new SweetAlertDialog(this);                sd.setCancelable(true);                sd.setCanceledOnTouchOutside(true);                sd.show();                break;            case R.id.under_text_test:                new SweetAlertDialog(this)                        .setContentText("It's pretty, isn't it?")                        .show();                break;            case R.id.error_text_test:                new SweetAlertDialog(this, SweetAlertDialog.ERROR_TYPE)                        .setTitleText("Oops...")                        .setContentText("Something went wrong!")                        .show();                break;            case R.id.success_text_test:                new SweetAlertDialog(this, SweetAlertDialog.SUCCESS_TYPE)                        .setTitleText("Good job!")                        .setContentText("You clicked the button!")                        .show();                break;            case R.id.warning_confirm_test:                new SweetAlertDialog(this, SweetAlertDialog.WARNING_TYPE)                        .setTitleText("Are you sure?")                        .setContentText("Won't be able to recover this file!")                        .setConfirmText("Yes,delete it!")                        .setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {                        @Override                        public void onClick(SweetAlertDialog sDialog) {                            // reuse previous dialog instance                            sDialog.setTitleText("Deleted!")                                    .setContentText("Your imaginary file has been deleted!")                                    .setConfirmText("OK")                                    .setConfirmClickListener(null)                                    .changeAlertType(SweetAlertDialog.SUCCESS_TYPE);                        }                        })                        .show();                break;            case R.id.warning_cancel_test:                new SweetAlertDialog(this, SweetAlertDialog.WARNING_TYPE)                        .setTitleText("Are you sure?")                        .setContentText("Won't be able to recover this file!")                        .setCancelText("No,cancel plx!")                        .setConfirmText("Yes,delete it!")                        .showCancelButton(true)                        .setCancelClickListener(new SweetAlertDialog.OnSweetClickListener() {                            @Override                            public void onClick(SweetAlertDialog sDialog) {                                // reuse previous dialog instance, keep widget user state, reset them if you need                                sDialog.setTitleText("Cancelled!")                                        .setContentText("Your imaginary file is safe :)")                                        .setConfirmText("OK")                                        .showCancelButton(false)                                        .setCancelClickListener(null)                                        .setConfirmClickListener(null)                                        .changeAlertType(SweetAlertDialog.ERROR_TYPE);                                // or you can new a SweetAlertDialog to show                               /* sDialog.dismiss();                                new SweetAlertDialog(SampleActivity.this, SweetAlertDialog.ERROR_TYPE)                                        .setTitleText("Cancelled!")                                        .setContentText("Your imaginary file is safe :)")                                        .setConfirmText("OK")                                        .show();*/                            }                        })                        .setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {                            @Override                            public void onClick(SweetAlertDialog sDialog) {                                sDialog.setTitleText("Deleted!")                                        .setContentText("Your imaginary file has been deleted!")                                        .setConfirmText("OK")                                        .showCancelButton(false)                                        .setCancelClickListener(null)                                        .setConfirmClickListener(null)                                        .changeAlertType(SweetAlertDialog.SUCCESS_TYPE);                            }                        })                        .show();                break;            case R.id.custom_img_test:                new SweetAlertDialog(this, SweetAlertDialog.CUSTOM_IMAGE_TYPE)                        .setTitleText("Sweet!")                        .setContentText("Here's a custom image.")                        .setCustomImage(R.drawable.custom_img)                        .show();                break;            case R.id.progress_dialog:                final SweetAlertDialog pDialog = new SweetAlertDialog(this, SweetAlertDialog.PROGRESS_TYPE)                        .setTitleText("Loading");                pDialog.show();                pDialog.setCancelable(false);                new CountDownTimer(800 * 7, 800) {                    public void onTick(long millisUntilFinished) {                        // you can change the progress bar color by ProgressHelper every 800 millis                        i++;                        switch (i){                            case 0:                                pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.blue_btn_bg_color));                                break;                            case 1:                                pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.material_deep_teal_50));                                break;                            case 2:                                pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.success_stroke_color));                                break;                            case 3:                                pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.material_deep_teal_20));                                break;                            case 4:                                pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.material_blue_grey_80));                                break;                            case 5:                                pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.warning_stroke_color));                                break;                            case 6:                                pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.success_stroke_color));                                break;                        }                    }                    public void onFinish() {                        i = -1;                        pDialog.setTitleText("Success!")                                .setConfirmText("OK")                                .changeAlertType(SweetAlertDialog.SUCCESS_TYPE);                    }                }.start();                break;        }    }}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?

><ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FFF" xmlns:android="http://schemas.android.com/apk/res/android"> <RelativeLayout android:layout_width="match_parent" android:paddingBottom="10dp" android:layout_height="wrap_content"> <ImageView android:id="@+id/logo_img" android:layout_width="180dp" android:layout_height="wrap_content" android:src="@drawable/logo_big" android:layout_marginTop="10dp" android:layout_marginBottom="15dp" android:layout_centerHorizontal="true" android:contentDescription="@string/app_name"/> <TextView android:id="@+id/txt_0" android:layout_alignLeft="@id/logo_img" android:layout_below="@id/logo_img" android:layout_marginLeft="15dp" android:text="show material progress" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="14sp" android:textColor="#797979"/> <Button android:layout_centerHorizontal="true" android:layout_below="@id/txt_0" android:id="@+id/progress_dialog" style="@style/dialog_blue_button" android:layout_margin="10dp" android:text="Try me!"/> <TextView android:id="@+id/txt_1" android:layout_alignLeft="@id/logo_img" android:layout_below="@id/progress_dialog" android:layout_marginLeft="15dp" android:text="A basic message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="14sp" android:textColor="#797979"/> <Button android:layout_centerHorizontal="true" android:layout_below="@id/txt_1" android:id="@+id/basic_test" style="@style/dialog_blue_button" android:layout_margin="10dp" android:text="Try me!"/> <TextView android:id="@+id/txt_2" android:layout_alignLeft="@id/logo_img" android:layout_below="@id/basic_test" android:layout_marginLeft="15dp" android:text="A title with a text under" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="14sp" android:layout_marginTop="15dp" android:textColor="#797979"/> <Button android:layout_centerHorizontal="true" android:layout_below="@id/txt_2" android:id="@+id/under_text_test" style="@style/dialog_blue_button" android:layout_margin="10dp" android:text="Try me!"/> <TextView android:id="@+id/txt_3" android:layout_alignLeft="@id/logo_img" android:layout_below="@id/under_text_test" android:layout_marginLeft="15dp" android:text="show error message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="14sp" android:layout_marginTop="15dp" android:textColor="#797979"/> <Button android:layout_centerHorizontal="true" android:layout_below="@id/txt_3" android:id="@+id/error_text_test" style="@style/dialog_blue_button" android:layout_margin="10dp" android:text="Try me!"/> <TextView android:id="@+id/txt_4" android:layout_alignLeft="@id/logo_img" android:layout_below="@id/error_text_test" android:layout_marginLeft="15dp" android:text="A success message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="14sp" android:layout_marginTop="15dp" android:textColor="#797979"/> <Button android:layout_centerHorizontal="true" android:layout_below="@id/txt_4" android:id="@+id/success_text_test" style="@style/dialog_blue_button" android:layout_margin="10dp" android:text="Try me!"/> <TextView android:id="@+id/txt_5" android:layout_alignLeft="@id/logo_img" android:layout_below="@id/success_text_test" android:layout_marginLeft="15dp" android:text="A warning message, with a listener bind to the Confirm-button..." android:layout_width="200dp" android:layout_height="wrap_content" android:textSize="14sp" android:layout_marginTop="15dp" android:textColor="#797979"/> <Button android:layout_centerHorizontal="true" android:layout_below="@id/txt_5" android:id="@+id/warning_confirm_test" style="@style/dialog_blue_button" android:layout_margin="10dp" android:text="Try me!"/> <TextView android:id="@+id/txt_6" android:layout_alignLeft="@id/logo_img" android:layout_below="@id/warning_confirm_test" android:layout_marginLeft="15dp" android:text="A warning message, with listeners bind to Cancel and Confirm button..." android:layout_width="200dp" android:layout_height="wrap_content" android:textSize="14sp" android:layout_marginTop="15dp" android:textColor="#797979"/> <Button android:layout_centerHorizontal="true" android:layout_below="@id/txt_6" android:id="@+id/warning_cancel_test" style="@style/dialog_blue_button" android:layout_margin="10dp" android:text="Try me!"/> <TextView android:id="@+id/txt_7" android:layout_alignLeft="@id/logo_img" android:layout_below="@id/warning_cancel_test" android:layout_marginLeft="15dp" android:text="A message with a custom icon" android:layout_width="200dp" android:layout_height="wrap_content" android:textSize="14sp" android:layout_marginTop="15dp" android:textColor="#797979"/> <Button android:layout_centerHorizontal="true" android:layout_below="@id/txt_7" android:id="@+id/custom_img_test" style="@style/dialog_blue_button" android:layout_margin="10dp" android:text="Try me!"/> </RelativeLayout></ScrollView>


XAlertDialogLibrary(eclipse):點此下載


Android美麗的對話方塊項目sweet-alert-dialog

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.