Настройка строки заголовка в Java ME - PullRequest
0 голосов
/ 17 марта 2010

Можно ли настроить строку заголовка в Java ME?

Ответы [ 2 ]

1 голос
/ 01 апреля 2010

Возможно, вы захотите проверить польский язык J2ME, который предоставляет множество настроек пользовательского интерфейса для MID-летов, включая строку заголовка: текст ссылки

0 голосов
/ 17 марта 2010

API не предоставляет функциональные возможности для настройки заголовка по умолчанию, но мы можем попытаться написать нашу собственную панель. Это само по себе незначительное нарушение соглашений UI. Некоторые телефоны позволяют использовать setTitle(null) для удаления заголовка. Телефоны в мобильном наборе инструментов Java ведут себя таким образом, но эмуляторы Series 40 и 60, похоже, не поддерживают это, а вместо этого генерируют заголовок по умолчанию. С другой стороны, Sony Ericssons и Motorolas, которые я тестировал, похоже, поддерживают это.

Тем не менее, мы можем определить наличие способности удалить заголовок. Мы не используем обратный вызов sizeChanged, так как вызов этой функции может быть отложен, когда холст не виден. Вместо этого мы вызываем getHeight как до, так и после удаления бара. Согласно спецификации, getHeight всегда должен возвращать правильное и обновленное значение, даже если холст не отображается. Вот код для реализации обнаружения:

public static boolean HIDE_TITLE_ENABLED;//Whether the implementation allows us to hide the title bar
static{
    //See if we can remove the title by ensuring it is non-nil, then attempting
    //to remove it. If we can't, then reset it.
    Canvas c=new Canvas(){
        protected void paint(Graphics g){
        }
    };
    c.setTitle("test");
    int preHeight=c.getHeight();
    c.setTitle(null);
    int afterHeight=c.getHeight();
    HIDE_TITLE_ENABLED=preHeight!=afterHeight;
}

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

...