Բլոգի այցելուներից Ռոբերտ Թադևոսյանը ցանկացել է իր մասնագիտական ուղեցույցով կիսվել բլոգում՝ Անդրոիդ հավելվածներ մշակողների համար:
Այս հոդվածում կներկայացնեմ, թե ինչպես ստեղծել ձեր CustomView-ն Android սարքերի համար հավելածներ մշակելիս: Եթե ծանոթ չեք Android հավելվածների մշակմանը, կարող եք կարդալ պաշտոնական հղումով: Հոդվածում կօգտագործեմ Kotlin ծրագրավորման լեզուն (պաշտոնական ծրագրավորման լեզու `Android հավելվածների մշակման համար): Այստեղ կարող եք կարդալ Կոտլինի մասին:
Նախքան հոդվածի հիմնական մասին անցնելը, առաջարկում եմ հասկանալ երկու բան.
1) Ի՞նչ է իրենից ներկայացնում CustomView-ն Android-ում։
CustomView-ն UI(User Interface)-ի տարր է, որն ամբողջությամբ ստեղծվում է մշակողի կողմից: CustomView-երը ստեղծվում են՝ ընդլայնելով View դասը (Class), որն ապահովում է օգտատերերի փոխազդեցությունները (User Interaction) նկարելու և մշակելու հիմնական շրջանակը:
2) Ե՞րբ կամ ի՞նչ պայմաններում կարող է անհրաժեշտ լինել ստեղծել ձեր CustomView-երը Android հավելվածներ մշակելիս:
Android-ում CustomView ստեղծելը կարևոր հմտություն է այն մշակողների համար, ովքեր ցանկանում են ստեղծել նորարար և եզակի հավելվածներ: CustomView-երն օգտագործվում են, երբ Android-ի կողմից տրամադրված առկա View-երը չեն համապատասխանում դիզայնի կամ ֆունկցիոնալության հատուկ պահանջներին: CustomView-երը ծրագրավորողներին հնարավորություն են տալիս ստեղծելու բարդ տեսողական տարրեր, որոնք բարելավում են օգտատիրոջ փորձը՝ միաժամանակ ապահովելով ճկունություն և անհատականացում: Այս հոդվածում մենք կդիտարկենք, թե ինչպես քայլ առ քայլ ստեղծել CustomView-եր Android-ում:
Մի փոքր վերացական է հնչում, այնպես չէ՞: Եկեք գործի անցնենք, որպեսզի ավելի պարզ լինի)
Եվ այսպես, սկզբի համար բացեք Android Studio-ն և ստեղծեք դատարկ նախագիծ (
Android Studio - Android-ի համար հավելվածների մշակման պաշտոնական ինտեգրված մշակման միջավայր (IDE)։ Չմոռանաք առաջին փուլում ընտրել Empty Activity: Նախագիծը ստեղծելուց հետո մենք կունենանք դատարկ գործունեություն (Activity) նշագրմամբ (layout) (MainActivity.kt, activity_main.xml) որոնք վերջում մեզ անհրաժեշտ կլինեն։ Ես նախագիծը կանվանեմ CustomView, դուք կարող եք ցանկացած անուն տալ:
Այնուհետև ստեղծեք նոր դաս (Class), մկնիկի աջ քլիք «customview» թղթապանակի վրա, ընտրեք նոր -> Kotlin class/file, գրեք MyCustomView դասի անունը, ընտրեք class ցուցակից և սեղմեք Enter։
Մեր MyCustomView-ը պետք է ժառանգի View դասից, որը տրամադրում է «android»-ը:
Հաջորդ քայլում մենք պետք է override անենք onMeasure ֆունկցիան՝ հատուկ customView-ի չափը հաշվարկելու համար:
Ահա թե ինչպես է դա արվում՝
Հաջորդը քայլում պետք է override անենք MyCustomView դասի onDraw ֆունկցիան, որպեսզի կարգավորեք customView-ի գծագիրը/տեսքը: Օգտագործեք Canvas օբյեկտը՝ դիզայնի առանձնահատկությունների հիման վրա հատուկ տեսք նկարելու համար: Այս օրինակում մենք չունենք կոնկրետ ձևավորում, քանի որ մենք դիտարկում ենք customView ստեղծելու միջոց և այստեղ մենք գծելու ենք ընդամենը մոխրագույն ուղղանկյուն՝ սահմաններով: Գրեթե ամեն ինչ պատրաստ է, բայց հետաքրքրության և ավելի մանրամասն մշակման համար, ես առաջարկում եմ նոր պարամետրեր (attributes) ավելացնել մեր MyCustomView-ին՝ այն դարձնելով ավելի ճկուն օգտագործման համար: Դա անելու համար մենք պետք է ստեղծենք .xml ֆայլ մեր պարամետրերի համար: Մկնիկի աջ քլիք res/values թղթապանակի վրա -> new -> values resource file, գրում ենք ֆայլի անունը (սովորաբար ես այս ֆայլը անվանում եմ attrs.xml), սեղմում ենք Enter: Հաջորդը, լրացրեք այս ֆայլը հետևյալ կերպ (տես ստորև ներկայացված սքրինշոթի օրինակով)
Մենք ավելացրել ենք երկու պարամետր՝ մեկը սահմանի գույնի, իսկ մյուսը՝ այդ սահմանի չափի (լայնության) համար: Այստեղ դուք կարող եք առաջարկել տարբեր տարբերակներ՝ կախված առաջադրանքից: Այս ատրիբուտները կարող են մուտք գործել MyCustomView դասում և օգտագործվել customView-ի տեսքն ու վարքագիծը փոխելու համար: (տես հաջորդ սքրինշոթը):
Այժմ մենք պետք է կարգավորենք այս հատկանիշները մեր MyCustomView դասում(class): Մենք գրում ենք init{} բլոկը մեր դասում(class), և մենք կմշակենք այս հատկանիշները դրանում:
Մշակման համար մենք վերցնում ենք theme օբյեկտը մեզ հասանելի context օբյեկտից և կանչում ենք getStyledAttributes(attr, R.styleable.MyCustomView, 0, 0) ֆունկցիան, որը վերադարձնում է TypedArray տիպի օբյեկտ, որտեղից կառող ենք ստանալ հատուկ պարամետրերի արժեքները, ինչը ցուցադրված է վերևի սքրինշոթում:
Եվ վերջում մեզ մնում է միայն օգտագործել մեր MyCustomView-ն հավելվածում։ Ավելացնենք այն activity_main.xml-ում, որը ստեղծվել է սկզբում նախագծի ստեղծման ժամանակ:
Ավելացրեք customView-ն layout-ի մեջ՝ օգտագործելով դասի անունը ամբողջովին՝ որպես XML տարրի անուն: Օգտագործեք customView-ն ձեր հավելվածի մեջ՝ ավելացնելով layout-ի մեջ կամ Kotlin կոդի միջոցով։
Վերջում սեղմեք Build -> Rebuild Project և ավարտելուց հետո մենք կարող ենք տեսնել մեր MyCustomView-ը նախադիտման մեջ:
Ընդհանուր խորհուրդներ Android-ում customView - եր ստեղծելու համար:
- Օգտագործեք custom view-ի դասի onMeasure ֆունկցիան view չափը սահմանելու համար:
- Օգտագործեք Canvas - ը onDraw ֆունկցիայի մեջ գրաֆիկները և վիզուալները հատուկ տեսքով նկարելու համար:
- Օգտագործեք AttributeSet պարամետրը ձեր custom view- ի դասի(class) կոնստրուկտորում՝ XML ֆայլից հատուկ ատրիբուտները կարդալու համար:
- Մտածեք հատուկ դասավորության ֆայլերի օգտագործման մասին՝ view -երը խմբավորելու և հարմարեցված տեսքով դասավորելու համար:
Եզրափակելով կարելի է ասել, որ Android-ում custom view-ի ստեղծումը կարևոր հմտություն է ձեր հավելվածի ֆունկցիոնալությունը և տեսողական գրավչությունը բարելավելու համար: Կիրառելով custom view-եր՝ մշակողները կարող են ստեղծել բարդ և եզակի ինտերֆեյսեր, որոնք համապատասխանում են դիզայնի հատուկ պահանջներին: Այս հոդվածը տրամադրում է անհատական դիտումներ ստեղծելու համապարփակ ուղեցույց, ինչպես նաև որոշ խորհուրդներ՝ ձեր մշակման գործընթացը բարելավելու համար: Պրակտիկայի և փորձի շնորհիվ դուք կկարողանաք ստեղծել ավելի նորարարական և արձագանքող(responsive) custom view- եր, որոնք ձեր հավելվածն առանձնացնում են մնացածից:
Ուղեցույցի հեղինակ՝ Ռոբերտ Թադևոսյան