ایجاد اثر باران دیجیتال ( ماتریس اثر) در برنامه نویسی اندروید

ایجاد اثر باران دیجیتال ( ماتریس اثر) در برنامه نویسی اندرویدReviewed by آریانا on Dec 2Rating: 5.0 ایجاد اثر باران دیجیتال ( ماتریس اثر) در برنامه نویسی اندرویدشما باید با ماتریس اثر که دارای کدهای سبز شناور بر روی صفحه سیاه و سفید (بسیار محبوب در سری فیلم ماتریکس) آشنا باشید.

شما باید با ماتریس اثر که دارای کدهای سبز  شناور بر روی صفحه سیاه و سفید (بسیار محبوب در سری فیلم ماتریکس) آشنا باشید.

در اندروید ماتریس اثر در اپلیکیشن های مختلف به گونه ای است که اغلب به صورت تصویر زمینه زنده اجرا می شود. از طریق این نکته، من می خواهم به ارائه یک نوع ماتریس اثر به نام اثر باران دیجیتال –که کدهایی مثل قطره باران در حال سقوط هستند و  نشان دهنده باران واقعی به صورت مجازی می باشند.

ایجاد اثر باران دیجیتال اندروید

کلاس ماتریس اثر سفارشی

ما یک نمای سفارشی بر اساس کلاس View ایجاد خواهیم کرد. در مرحله اول ما برخی از متغیرها را برای اثر باران دیجیتال با اندازه کد، اندازه یک ستون ، موقعیت یک bottom text برای هر ستون و سپس کاراکترهایی که برای کد مورد استفاده قرار می گیرند را  تعریف می کنیم. توجه داشته باشید که شما می توانید کاراکترهایتان را هر جا که می خواهید قرار دهید و از فونت های سفارشی استفاده کنید.

در حال حاضر ما در این ساختار همه ی متغیرهای رنگ را مقداردهی کردیم که به عنوان متن (کدهای در حال اجرا) با رنگ سبز و بک گراند آنها مشکی رنگ تعریف شده است. شما همچنین  به یک آبجکت جدید رندوم  احتیاج دارید که کدهایش در ادامه آورده شده است.

برای به دست آوردن عرض و ارتفاع view ما  از روش onSizeChanged از کلاس View استفاده می کنیم. ما موقعیت اولین کاراکتر را برای هر ستون مقداردهی می کنیم.  و از یک موقعیت رندوم بین بالای صفحه نمایش و وسط صفحه نمایش استفاده می کنیم و آن را در آرایه txtPosByColumn ذخیره می کنیم.

سرانجام ما روش onDraw را از نمایش سفارشی نادیده می گیریم که روش drawCanvas نامیده می شود و  نمایش مجدد اجباری  را برای یک ترسیم لغو می کنیم. همان طور که گفتیم ماتریس اثر می تواند از بالا تا پایین در حالت بی نهایت پیشرفت کند.

در داخل drawCanvas(), call drawText() method   برای رسم یک کاراکتر رندوم برای هر ستون در موقعیت نشان داده شده توسط متغیر txtPosByColumn بالا استفاده می شود.

نحوه استفاده در اکتیویتی/فرگمنت

به این منظور شما باید یک MatrixEffectView  را در لایه activity/fragment layout (XML) ایجاد کنید.

activity_main.xml

[code]

و هیچ نقطه خاصی در کد برنامه نویسی شده ی اکتیویتی شما وجود ندارد فقط نیاز دارید به یک setContentView():

MainActivity.java

[code]

و خروجی برنامه شما به صورت زیر می شود:

create-digital-rain-effect

پاسخ دهید