Android Absolute Layout хорошо выглядит на некоторых телефонах, но не на других? - PullRequest
0 голосов
/ 20 мая 2011

Я сделал калькулятор для Android и использовал макет Absolute для позиционирования кнопок и просмотра текста.Он хорошо смотрится на HTC Hero моего отца, но когда я надеваю его на EVO, все сжимается в верхнем левом углу.Я думаю, это потому, что мое разрешение экрана больше, чем у моего отца, поэтому измерения пикселей, которые я использую в моем абсолютном макете, не масштабируются правильно на моем телефоне, как это происходит на моих папах, потому что у него меньше пикселей.

Я думаю, что если я использую другую раскладку, например линейную раскладку, она будет корректно масштабироваться на всех телефонах с разным разрешением.Какой макет я могу использовать и как я могу расположить кнопки там, где я хочу с ним?С линейным макетом все просто накладывается друг на друга, и я не могу понять, как расположить вещи рядом и так, как должны быть кнопки в приложении калькулятора.Абсолютная планировка была единственным способом, которым я мог думать.Может кто-нибудь дать мне пример или показать макет приложения калькулятора, которое вы сделали, чтобы я мог видеть, как вы это сделали?

Ответы [ 2 ]

2 голосов
/ 20 мая 2011

AbsoluteLayout не рекомендуется.

Для размещения элементов рядом вы можете использовать LinearLayout с orientation="horizontal".

Для работы с масштабированием попробуйте использовать layout_weight параметр.Т.е., если вы хотите создать две кнопки рядом, занимая полное пространство по ширине, и каждую половину кнопки общей ширины, вы можете сделать следующее

<LinearLayout
    android:orientation="horizontal"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent">
    <Button 
         android:layout_width="0dp"    
         android:layout_height="wrap_content"  
         android:layout_weight="1" />   
    <Button 
         android:layout_width="0dp"    
         android:layout_height="wrap_content"  
         android:layout_weight="1" />
</LinearLayout>

Также рассмотрите возможность использования RelativeLayoutгде вы можете разместить каждый элемент относительно ранее размещенных.

1 голос
/ 20 мая 2011

ПРЕКРАТИТЕ ИСПОЛЬЗОВАНИЕ АБСОЛЮТНОЙ ПЛАНИРОВАНИЯ !!!!!

Предпочитайте относительную или вложенную линейную компоновку в зависимости от ситуации.Используйте абсолютную компоновку только тогда, когда это точно требуется на определенных устройствах, до тех пор, пока и не используйте ее.

Спасибо,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...