Преглед садржаја
А. Релативни изглед је групни приказ који приказује компоненте у позицијама у односу на другу компоненту. Положај сваке компоненте може се одредити у односу на друге елементе, на пример лево од дугмета или испод одређеног оквира за текст или поравнати према дну, лево или у средини.Почињемо у водичу Развијање изворних апликација за Андроид са Нетбеанс -ом које објашњава како се користи Линеарни распоредУ овом водичу ћемо видети контејнер за креирање интерфејса у Андроиду који је Релативни распоред.
Главна карактеристика овог распореда је да ће компоненте које се налазе у овом контејнеру лоцирати свој положај у односу на остале елементе. На овај начин можемо дефинисати да је Компонента дугмета се налази испод компоненте оквира за текст и она је заузврат хоризонтално поравнана у односу на компоненту Лабел.
Међу особинама које нам помажу да позиционирамо елементе у односу на друге су:
андроид: лаиоут_абове: то значи да ће компонента која има ово својство бити смештена изнад компоненте коју означавамо.
Пример:
Дугме ће бити постављено изнад елемента етикете како је назначено андроид: лаиоут_абове = "@ ид / титле"
андроид: лаиоут_алигнЛефт: То значи да се компонента која има ово својство мора подударати са левом ивицом компоненте коју означавамо. Ако желимо да се поклапа са десном ивицом користићемо андроид: лаиоут_алигнРигхт.
андроид: лаиоут_тоЛефтОф: То значи да ће компонента која има ово својство бити смештена лево од компоненте коју означимо.
андроид: лаиоут_тоРигхтОф: То значи да ће компонента која има ово својство бити позиционирана десно од компоненте коју означимо.
андроид: лаиоут_боттом: То значи да ће компонента која има ово својство бити позиционирана испод компоненте коју означавамо.
Програмират ћемо једноставан примјер калкулатора у Андроиду, у овом водичу ћемо користити Нетбеанс и Андроид СДК као што смо то учинили у водичу Развој изворних апликација за Андроид са Нетбеансом.
Креираћемо пројекат ЛаиоутРелативо
Онда функционалност ћемо написати у Јави у датотеци МаинАцтивити.јава
пацкаге цом.Релативе; увоз андроид.апп.Ацтивити; импорт андроид.ос.Бундле; увоз андроид.видгет. *; увоз андроид.виев. *; јавна класа МаинАцтивити проширује Ацтивити {// Инсталирамо варијабле и компоненте које ћемо користити // за прорачуне привате доубле нумбер, нумберроб; привате ЕдитТект валуе, валуеб; приватни ТектВиев резултат; публиц воид онЦреате (Бундле саведИнстанцеСтате) {супер.онЦреате (саведИнстанцеСтате); // Покрећемо апликацију са главним распоредом сетЦонтентВиев (Р.лаиоут.маин); // Свакој компоненти додељујемо променљиву тхис.валора = (ЕдитТект) финдВиевБиИд (Р.ид.нумероа); тхис.валорб = (ЕдитТект) финдВиевБиИд (Р.ид.нумероб); тхис.ресулт = (ТектВиев) финдВиевБиИд (Р.ид.ресулт); } публиц воид бтСумар (Виев виев) {// Додај функцију // Ако су обе вредности веће од нуле, претвара се у децимални број и додаје иф (тхис.валуе.гетТект (). тоСтринг (). ленгтх ( )> 0 && тхис.валорб.гетТект (). ТоСтринг (). Ленгтх ()> 0) {тхис.нумероа = Доубле.парсеДоубле (тхис.валора.гетТект (). ТоСтринг ()); тхис.нумероб = Доубле.парсеДоубле (тхис.валорб.гетТект (). тоСтринг ()); тхис.ресулт.сетТект (Доубле.тоСтринг ((тхис.нумероа + тхис.нумероб))); }} публиц воид бтРестар (Виев виев) {// Функција одузимања // Ако су обе вредности веће од нуле, претвара се у децимални број и одузима иф (тхис.валуе.гетТект (). тоСтринг (). ленгтх ()> 0 && тхис.валорб.гетТект (). ТоСтринг (). Ленгтх ()> 0) {тхис.нумероа = Доубле.парсеДоубле (тхис.валора.гетТект (). ТоСтринг ()); тхис.нумероб = Доубле.парсеДоубле (тхис.валорб.гетТект (). тоСтринг ()); тхис.ресулт.сетТект (Доубле.тоСтринг ((тхис.нумероа - тхис.нумероб))); }} публиц воид бтМултиплицар (Виев виев) {// Мултипли фунцтион // Ако су обе вредности веће од нуле, претвара се у децимални број и множи иф (тхис.валуе.гетТект (). тоСтринг (). ленгтх ()> 0 && тхис.валорб.гетТект (). ТоСтринг (). Ленгтх ()> 0) {тхис.нумероа = Доубле.парсеДоубле (тхис.валора.гетТект (). ТоСтринг ()); тхис.нумероб = Доубле.парсеДоубле (тхис.валорб.гетТект (). тоСтринг ()); тхис.ресулт.сетТект (Доубле.тоСтринг ((тхис.нумероа * тхис.нумероб))); }} публиц воид бтДивиде (Виев виев) {// Дивиде фунцтион // Ако су обе вредности веће од нуле, она се конвертује у децимални број и дели ако (тхис.валуе.гетТект (). тоСтринг (). ленгтх ()> 0 && тхис.валорб.гетТект (). ТоСтринг (). Ленгтх ()> 0) {тхис.нумероа = Доубле.парсеДоубле (тхис.валора.гетТект (). ТоСтринг ()); тхис.нумероб = Доубле.парсеДоубле (тхис.валорб.гетТект (). тоСтринг ()); иф (тхис.нумероб! = 0) {тхис.ресулт.сетТект (Доубле.тоСтринг ((тхис.нумероа / тхис.нумероб))); }}} публиц боолеан онЦреатеОптионсМену (Мени менија) {// Креирање менија из шаблона или изгледа гетМенуИнфлатер (). инфлате (Р.мену.маин, мену); ретурн труе; }Покрећемо апликацију и када се емулатор активира, видећемо следећи екран.
Такође ћемо додати мени и подмени, у фасциклу Ресурси Направићемо фасциклу под називом мену и унутар кмл датотеке маин.км која ће имати конфигурацију менија.
Унутар фолдера вредности морамо декларисати име менија у датотеци стрингс.кмл
Калкулатор - Конфигурација релативног распоредаПоново покрећемо апликацију, а затим притиснемо дугме менија и кликнемо на Подешавање.
Цтрл + Ф12
Ово ће симулирати окретање мобилног телефона.андроид: лаиоут_тоРигхтОф = "@ ид / адд" андроид: лаиоут_алигнТоп = "@ ид / адд"У случају корисног дугмета, поравнавамо га у односу на прво дугме за додавање и на последње дугме за множење.
андроид: лаиоут_тоРигхтОф = "@ ид / мултипли" андроид: лаиоут_алигнТоп = "@ ид / адд"Затим ћемо додати дугме са иконом, за то преузимамо било коју икону са веба ввв.Ицофиндер.цом. Копираћемо икону у фасциклу Ресоурцес / дравабле-мдпи.
А. Изглед Релативна хијерархија обично Користиће мању количину изгледа и имаће једноставније руковање од хијерархије ЛинеарЛаиоут. Предност у односу на ЛинеарЛаиоут је у томе што морамо креирати нови ЛинеарЛаиоут сваки пут када желимо да променимо оријентацију компоненте или створимо додатне приказе. Због тога се препоручује да прво користите РелативеЛаиоут за било који распоред који има било какву сложеност.
Поврх тога ЛинеарЛаиоут оријентисан је само вертикално или хоризонтално у односу на компоненту док Лаиоут Релативе има много више опција. Ако вам се допао и послужио овај водич, пратите ме!Да ли вам се допао и помогао овај водич?Можете наградити аутора притиском на ово дугме да бисте му дали позитиван поен