Редактор ресурсов LWUIT: создание кнопки

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

Итак, если я хочу иметь кнопку с пользовательским стилем, как мне создать ее в редакторе ресурсов, а затем как мне получить к ней доступ в моем приложении?

Спасибо!


person James Harpe    schedule 20.09.2013    source источник


Ответы (1)


Рекомендуемая литература: Использование стилей, Темы и рисовальщики с LWUIT и Учебное пособие по LWUIT — стили и темы для понять концепцию стиля.

Первый шаг вам нужно создать новую тему. Откройте редактор ресурсов LWUIT и создайте новую тему:

введите здесь описание изображения

Затем вам нужно добавить стиль кнопки для стилей Unselected, Selected, Pressed и Disabled по вашему желанию (не нужно делать это для всех этих стилей, только для тех, которые нужны, чаще всего Unselected и Pressed):

введите здесь описание изображения

введите здесь описание изображения

Сохраните тему в файле .res (скажем, MyTheme.res), выбрав опцию Save (обратите внимание, что один файл .res может содержать несколько тем). Скопируйте файл MyTheme.res в свой проект, скажем, в папку res, и не забудьте добавить эту папку в свойства проекта, чтобы при создании файла jar он был включен. Наконец, загрузите свою тему следующим образом:

Resources r = Resources.open("/res/MyTheme.res");
UIManager.getInstance().setThemeProps(r.getTheme("MyTheme"));
person dic19    schedule 20.09.2013
comment
Что, если я просто хочу установить стиль для одной кнопки? Использую ли я button.setUIID(MyTheme); ? - person James Harpe; 20.09.2013
comment
Нет, метод setUIID предназначен не для этого. Если вы хотите изменить внешний вид только одной или двух кнопок, закодируйте изменения стилей вручную, используя методы button.getStyle() и button.getPressedStyle(). Использование редактора ресурсов имеет смысл, если вы хотите определить внешний вид компонентов во всем приложении. Проведите аналогию между таблицами стилей CSS в HTML и темами в LWUIT. - person dic19; 20.09.2013
comment
Что вы имеете в виду, что этот метод не работает с кнопками? Они делают довольно хорошо для меня. Вы уверены, что ваши кнопки являются com.sun.lwuit.Button объектами? Возможно, ваша IDE не импортировала правильный класс и использует класс Button (или Command) по умолчанию. Это может быть причиной того, что эти методы не работают. - person dic19; 23.09.2013
comment
См. ответ на мой вопрос здесь: stackoverflow.com/questions/18899811/ lwuit-style-a-button - person James Harpe; 23.09.2013
comment
Так что я должен был сказать, что это проблема Nokia SDK 2.0. - person James Harpe; 23.09.2013
comment
О, тогда я вижу. В таком случае, извините, я не могу вам помочь :( Думаю, Nokia может позволить разработчикам использовать эти функции. - person dic19; 24.09.2013
comment
Вы пытались получить исходный код для LWUIT nokia s40? Если вы можете получить его (он находится на странице разработчика Nokia), вы можете получить файл res для nokia full touch... создайте новый стиль для кнопки, скомпилируйте проект (получив библиотеку .jar), добавьте его в свой проект. , а позже в коде используйте методы setUIID. - person Mun0n; 24.09.2013