BlackBerry - Что возвращают getPreferredWidth () и getPreferredHeight ()? - PullRequest
3 голосов
/ 08 февраля 2010

Я не проясняю концепцию методов getPreferredWidth () и getPreferredHeight (). Что они возвращают, значит, на каком основании возвращаются значения .??1001*

В чем разница между getWidth () и getPreferredWidth () ???

Спасибо ..

Ответы [ 2 ]

6 голосов
/ 08 февраля 2010

По умолчанию Field # getPreferredHeight () и Field # getPreferredWidth () возвращают 0. Они там для ваших пользовательских полей, которые можно переопределить с любой предпочитаемой шириной вашего пользовательского поля /высота есть.

Значение, которое вы предоставляете в своих переопределенных методах, затем принимается во внимание, когда речь идет о планировании вашего поля.Если ваши предпочтительные значения подходят для области отображения и содержимого вашего поля, то будут использоваться ваши предпочтительные значения.Эти значения являются просто подсказками.

Поле # getHeight () и Поле # getWidth () , с другой стороны, возвращает фактический экстент поля.

0 голосов
/ 12 марта 2012

Поле # getPreferredWidth () используется для определения ширины определенного поля при его создании. Вам нужно переопределить этот метод, если вы хотите создать некоторые настройки. Display # getWidth () возвращает физический размер экрана вашего устройства или симулятора, который вы можете использовать для создания кнопок относительно ширины экрана. Field # getWidth () возвращает фактическую ширину поля, которое вы создали ранее. Я использовал этот блок кода для создания кнопки, которая заполняет всю ширину экрана и имеет высоту по умолчанию.

Это способ переопределения метода getPreferredWidth() для определенного поля, т.е. ButtonField.

    ButtonField myButton = new ButtonField("Click", USE_ALL_WIDTH){
        public int getPreferredWidth(){
            return Display.getWidth();
        }
    };
...