Користувальницький інтерфейс Android базується на властивості верхнього та нижнього краю

Я працював з Android UI в Eclipse і виявив, що це трохи бурхливо. Розробка макета за допомогою менеджера макетів займає багато часу. Отже, мені було цікаво, чи можна вказати позицію елементів інтерфейсу на основі системи i.e верхньої та лівої властивості системи (x, y) , яка широко використовується в середовищі Visual Studio для VB, C# та ін?

Елемент позиціонування, що базується на властивості зверху та ліворуч, забезпечить велику гнучкість

0
Не робіть цього. Можливо, ви знайдете це трохи суєті зараз, але це як це працює, і я можу особисто гарантувати вам, що вони працюють добре. Витратьте час, щоб дізнатися про спосіб Android, і ви дізнаєтеся, як це зручніше, коли одне додаток має працювати як у планшетах 10-дюймовий формат 1080p у ландшафтному режимі, так і в телефоні 3,1-дюймового формату початкового рівня в портреті.
додано Автор Budius, джерело
Не робіть цього. Можливо, ви знайдете це трохи суєті зараз, але це як це працює, і я можу особисто гарантувати вам, що вони працюють добре. Витратьте час, щоб дізнатися про спосіб Android, і ви дізнаєтеся, як це зручніше, коли одне додаток має працювати як у планшетах 10-дюймовий формат 1080p у ландшафтному режимі, так і в телефоні 3,1-дюймового формату початкового рівня в портреті.
додано Автор Budius, джерело

7 Відповіді

Як це буде гнучким? Так, правильне виконання макета вимагає часу, але якщо ви зробите це правильно, він буде правильно масштабуватися до будь-якого розміру екрана. Якщо ви користуєтеся координатами X/Y, ви будете шрифтами харчувати до певного розміру екрана, що є особливо поганою ідеєю для Android (оскільки існує безліч доступних розмірів екрана).

Якщо вам потрібно x, y позиціонування, ви можете використовувати FrameLayout з foregroundGravity встановити на top | left і використовувати layout_marginLeft для значення x і layout_marginTop для значення y.

3
додано
Дякую за пояснення. Я отримав це зараз :)
додано Автор Vivek Sadh, джерело

Як це буде гнучким? Так, правильне виконання макета вимагає часу, але якщо ви зробите це правильно, він буде правильно масштабуватися до будь-якого розміру екрана. Якщо ви користуєтеся координатами X/Y, ви будете шрифтами харчувати до певного розміру екрана, що є особливо поганою ідеєю для Android (оскільки існує безліч доступних розмірів екрана).

Якщо вам потрібно x, y позиціонування, ви можете використовувати FrameLayout з foregroundGravity встановити на top | left і використовувати layout_marginLeft для значення x і layout_marginTop для значення y.

3
додано
Дякую за пояснення. Я отримав це зараз :)
додано Автор Vivek Sadh, джерело

Наскільки я знаю, немає вбудованої макета, яка базується на (x, y) координатах. Можливо, ви зможете знайти сторонні бібліотеки, які можуть це зробити для вас. Однак я скептично ставлячись до того, що вони забезпечать задовільні результати. Пам'ятайте, що Android розгортається на різноманітних пристроях, що включають різноманітний розмір екрана та роздільну здатність. Це означає, що ви можете зробити інтерфейс користувача досить приємним на одному пристрої за допомогою певних координат, але він не буде дуже добре виглядати на інших пристроях.

Особисто я редагую свої макети інтерфейсу безпосередньо в XML-файлах. Я вважаю, що це забезпечує мені кращий контроль, ніж використання редактора користувальницького інтерфейсу Eclipse. Ви ще повинні дізнатись, як самі менеджери макета працюють.

1
додано

Наскільки я знаю, немає вбудованої макета, яка базується на (x, y) координатах. Можливо, ви зможете знайти сторонні бібліотеки, які можуть це зробити для вас. Однак я скептично ставлячись до того, що вони забезпечать задовільні результати. Пам'ятайте, що Android розгортається на різноманітних пристроях, що включають різноманітний розмір екрана та роздільну здатність. Це означає, що ви можете зробити інтерфейс користувача досить приємним на одному пристрої за допомогою певних координат, але він не буде дуже добре виглядати на інших пристроях.

Особисто я редагую свої макети інтерфейсу безпосередньо в XML-файлах. Я вважаю, що це забезпечує мені кращий контроль, ніж використання редактора користувальницького інтерфейсу Eclipse. Ви ще повинні дізнатись, як самі менеджери макета працюють.

1
додано

Ви можете використовувати AbsoluteLayout і приховувати попередження про помилку у своєму коді, але подумайте, як він буде виглядати на різних розмірах екрана?

Я радив би використовувати RelativeLayout у вашій справі.

1
додано

Android намагається гарантувати, що компоненти макета розташовані добре, щоб вони:

  • не перекривайте один одного
  • не виходити з простору екрана
  • схожі на різні розміри екрана
  • і т. д.

Це дає вам хороші атрибути XML, які допоможуть вам організувати макет. Я рекомендую вам використовувати RelativeLayout для цієї програми, оскільки це дозволяє розмістити компоненти макета в позиціях, що відносяться до одного.

Some xml attributes you can specify are given here: Android Reference, RelativeLayout.LayoutParams

1
додано

Android намагається гарантувати, що компоненти макета розташовані добре, щоб вони:

  • не перекривайте один одного
  • не виходити з простору екрана
  • схожі на різні розміри екрана
  • і т. д.

Це дає вам хороші атрибути XML, які допоможуть вам організувати макет. Я рекомендую вам використовувати RelativeLayout для цієї програми, оскільки це дозволяє розмістити компоненти макета в позиціях, що відносяться до одного.

Some xml attributes you can specify are given here: Android Reference, RelativeLayout.LayoutParams

1
додано
android_jobs_ua
android_jobs_ua
120 учасників

Публикуем вакансии и запросы на поиск работы по направлению Android. Здесь всё: full-time, part-time, remote и разовые подработки.

Mobile Dev Jobs UA
Mobile Dev Jobs UA
20 учасників

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin, RN и т.д.