آموزش دکمه های progress در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش دکمه های progress در برنامه نویسی اندروید می پردازیم این دکمه ها به progress button و loading button نیز معروف هستند در ادامه می توانید پیش نمایشی از این دکمه ها را ببینید.
از این دکمه ها به طور مثال برای انجام لاگین استفاده می شود فرض کنیم شما یک صفحه ورود دارید که کاربر با کلیک بروی دکمه در صورت درست بودن Username و Passwrod باید وارد شود پس می تونید از این دکمه در صورت موفقیت آمیز بودن آن استفاده کنید البته در صورتی که موفق نبود می توانید عکس همان دکمه را عوض کرده و عدم موفقیت ورود نمایش داده شود.
برلی استفاده از آن مثل همیشه وارد فایل Build.gradle شده از نوع module سپس در بخش dependencies خط زیر را اضافه کنید.
1 | compile 'br.com.simplepass:loading-button-android:1.7.2' |
سپس پروژه را sync کرده (علت خطاهای گردیل را قبلا بررسی کرده ایم لطفا در سایت جستجو کنید).
برای استفاده از آن در بخش Layout خود کد زیر را قرار دهید.
1 2 3 4 5 | <br.com.simplepass.loading_button_lib.customViews.CircularProgressButton android:id="@+id/btn_id" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/button_shape_default_rounded.xml"/> |
و مقدار background آن را باید با یک عکس جایگزین کند توصیه ما استفاده از کدی که در ادامه قرار می دهیم است.
ابتدا وارد پوشه drawable شده و یک فایل به نام button_shape_default_rounded.xml ایجاد کرده و کد زیر را در آن قرار دهید
1 2 3 4 5 6 7 8 9 | <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="false" android:state_selected="false"> <shape android:shape="rectangle"> <corners android:radius="50dp" /> <solid android:color="@color/color_button_default" /> </shape> </item> </selector> |
و خط زیر را به Colors.xml که در res/values قرار دارد اضافه کنید.
1 | <color name="color_button_default">#FFA000</color> |
هم اکنون یک چیز شبیه به مربع ایجاد شده است حالا برویم به سراغ کد آن
1 2 | CircularProgressButton btn = (CircularProgressButton) findViewById(R.id.btn_id) btn.startAnimation(); |
با این کار شکل loading برای ما ظاهر می شود حالا باید در جایی که کار تمام می شود اگر به مثال قبل برگردیم جایی که علت درست یا غلط بودن بررسی می شود یه جایی مثل کلاس Async باید از کد زیر استفاده کنیم.
در صورتی که موفق آمیز بودش از کد زیر استفاده کنید
1 2 | Bitmap image = BitmapFactory.decodeResource(getResources(), R.drawable.yourBitmap); btn.doneLoadingAnimation(<span class="pl-smi">R</span><span class="pl-k">.</span>color<span class="pl-k">.</span>black, image); |
در بالا عکسی که می خواهید بعد از موفقیت آمیز بودن نمایش داده شود می شود yourBitmap (به جاش اسم عکس خودتان را قرار دهید) و black می شود رنگی که به عکس خواهد داد (باید از عکس Transparent استفاده کنید)
و در غیر اینصورت (در صورتی که عملیات موفقیت آمیز نبودش)
1 | btn.revertAnimation(); |
کد بالا باعث بازگشت دکمه به حالت اولیه می شود.
این آموزش هم به پایان رسید.
موفق و موید باشید.
سلام
Bitmap image = BitmapFactory.decodeResource(getResources(), R.drawable.yourBitmap);
btn.doneLoadingAnimation(R.color.black, image);
این کد رو لطفا تصحیح کنید.
در مورد وکتور گذاشتن چه دستوری باید بذارم؟
این دستوری که شما گذاشتین فقط برای عکسه.
لطفا راهنماییم کنید.ممنون
BitmapFactory رو برای من زیرش رو قرمز میکنه چرا؟؟
کدش درست شد توی اینجا
Bitmap image = BitmapFactory.decodeResource(getResources(), R.drawable.yourBitmap);
btn.doneLoadingAnimation(R.color.black, image);
اما لطفا بفرمایید برای دکتور چی استفاده کنم.
ممنون
سلام و درود از کد زیر استفاده کنید.
و در بخش Module Gradle خط زیر را در تگ android قرار دهید.
موفق باشید.
سلام از کد زیر استفاده کنید.
موفق باشید.