کتابخانه اندروید AndroidDraw نوشتن متن توسط کاربر
نوشتن متن توسط کاربر کتابخانه اندروید
AndroidDraw
سلام و احترام خدمت کاربران محترم سایت خانه اندروید خدمتون عرض کنم توی این پست قصد داریم به معرفی کتابخانه جالبی بپردازیم که شما می توانید نوشته ای رو همراه با رنگ های مختلف ایجاد و سپس ذخیره کنید در برخی از اپلیکیشن های چت و یا اپلیکیشن اینستاگرام چنین مواردی رو مشاهده می کنیم که در دوره دیجی کالا هم مثالی از این موضوعات خدمتون ارایه داده ایم در بخش امتیاز دادن به محصولات مشابه اپلیکیشن دیجی کالا حال می خواهیم کتابخانه رو خدمتون معرفی کنیم بنام AndroidDraw که کاربر توانایی نوشتن متنی را دارد.
برای این منظور بخش بیلد گردیل را باز کنید و سپس کتابخانه فوق را اضافه کنید.
دقت بفرمایین زبان این کتابخانه کاتلین هست.
allprojects { repositories { ... maven { url 'https://jitpack.io' } } } dependencies { implementation 'com.github.divyanshub024:AndroidDraw:v0.1' }
حالا که با موفقیت کتابخانه را اضافه کردین اکتیویتی را ایجاد کنید و سپس در اکتیویتی هر دو ایتم زیر را اضافه کنید.
سورس کد بخش دیزاین android draw
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".Test_ScreenShot.Screen_Shot_Create"> <com.divyanshu.draw.widget.DrawView android:id="@+id/draw_view" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@+id/Btn_drawview" /> <Button android:id="@+id/Btn_drawview" android:layout_alignParentBottom="true" android:layout_width="match_parent" android:layout_height="50dp" android:fontFamily="@font/iran" android:text="ایجاد کردن یک draw" /> </RelativeLayout>
و در نهایت برای دکمه Btn_draw کلیک لیستنیر را پیاده سازی کنید. و کد intent را برای ارجاع به اکتیویتی DrawingActivity::class.jav پیاده سازی کنید.دقت بفرمایین در این بخش onactivityresult را فراخوانی می کنیم تا کاربر مواردی که draw می کند را در قالب bitmap به اکتیویتی فرزند برگردونه تا بتوانیم نمایش دهیم.
سورس کد بخش intent
val intent = Intent(this, DrawingActivity::class.java) startActivityForResult(intent, REQUEST_CODE_DRAW)
و در نهایت draw کاربر در قالب bitmap قابل نمایش هست.
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { if (data != null && resultCode == Activity.RESULT_OK) { when(requestCode){ REQUEST_CODE_DRAW -> { val result= data.getByteArrayExtra("bitmap") val bitmap = BitmapFactory.decodeByteArray(result, 0, result.size) saveImage(bitmap) } } } }
برای پاک کردن draw یا تنظیم دیگر می توانید از سورس کد زیر استفاده کنید.توضیحات فارسی
برای پاک کردن نوشتن کاربر canvas draw_view.clearCanvas() برای تنظیم میزان عرض draw_view.setStrokeWidth(strokeWidth) برای تنظیم الفا یا میزان شفافیت draw_view.setAlpha(progress) برای تنظیم رنگ draw draw_view.setColor(color) برای برگشت draw_view.undo() برای پیش بردن draw_view.redo()
و در نهایت سورس کد قالب توضیحات انگلیسی:
To clear canvas draw_view.clearCanvas() To set stroke width // takes input as Float draw_view.setStrokeWidth(strokeWidth) To set stroke alpha // takes input as Int draw_view.setAlpha(progress) To set stroke color draw_view.setColor(color) To undo draw_view.undo() To redo draw_view.redo()
و تصویر نهایی در قالب دمو :
قبل از ارسال دیدگاه
بدون دیدگاه