![](https://fire-monkey.ru/uploads/set_resources_12/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
Kitty
-
Постов
792 -
Зарегистрирован
-
Посещение
-
Победитель дней
16
Активность репутации
-
Kitty отреагировална AngryOwl в [Android] Изменить вид кнопки по умолчанию
Извините, не правильно Вас понял.
Нет, не надо конечно. Стиль грузится в контейнер TStyleBook и лежит в "бинарнике" соответственно.
Нужно только в том случае, если Вы хотите в процессе работы программы менять стили (например - дать выбор стиля пользователю программы).
-
Kitty отреагировална Kikoma в [Android] Изменить вид кнопки по умолчанию
Да, открыл, тоже нет рамки: причина в стиле изменилось имя:
делаем следующее:
3. У формы ставим StyleBook := StyleBook1
-
Kitty отреагировална Andrey Efimov в [Android] Изменить вид кнопки по умолчанию
Попробуйте использовать вот этот вариант: stylenew.zip
В этом стиле, стандартный donetoolbutton с добавлением TRectangle, для создания рамки.
Проверено, должно всё работать, можно редактировать в TStyleBook.
p.s. Не забывайте заполнять свойство StyleBook у формы.
-
Kitty отреагировална Kikoma в [Android] Изменить вид кнопки по умолчанию
Вот мои исходники (только на Delphi XE6 upd2)
-
Kitty отреагировална Kikoma в [Android] Изменить вид кнопки по умолчанию
Как получилось у меня:
1.То что вы открыли в Блокноте я полностью скопировал этот
object TLayout
StyleName = 'donetoolbutton'
...
end
Сохранил его в отдельный файл, при этом поменял StyleName = 'mydonetoolbutton'
2. На форму бросил StyleBook1, щелкнул на нем два раза попал в редактор. По кнопке Load... выбрал выше созданный файл и его немного подредактировал: добавил Rectangle (Fill.Kind := None; Stroke (рамка) уже есть)
Немного повозился с размерами и выравниванием. После кнопка Apply and Close
3. Бросаю две SpeedButton, у одного набираю в StyleLookUp = mydonetoolbutton, у другого из списка выбираю StyleLookUp = donetoolbutton.
Результат достигнут. На непоколебимость данного варианта не претендую, хотелось бы узнать мнение гуру.
-
Kitty отреагировална Brovin Yaroslav в Использование жестов при развернутом окне Metropolis
Добрый день,
Нет, это ошибка. Ее уже завалидировали.
-
Kitty отреагировална AngryOwl в [Android] Изменить вид кнопки по умолчанию
Приношу свои извинения за то, что вероятно ошибся со стилем (так как он под XE5)
Рекомендую Вам скачать архив для XE6 (http://cc.embarcadero.com/item/29808)
Там есть стили под все ОС.
AndroidDiamond
AndroidJet
AndroidSterling
Судя по Вашим скринам и в целом - Вам нужен AndroidSterling. Хотя можете попробовать и другие.
Вот там точно есть то что Вам нужно.
P.S. Хотя и скачанный Вами AndroidLight.vsf тоже можно загрузить и сохранить как .style
Проблема у него в том, что он не совсем совместим с XE6. Его можно подправить "ручками", чтобы он грузился. Но это уже другая история)...
-
Kitty отреагировална Brovin Yaroslav в Есть ли поддержка минимальной и максимальной даты в TDateEdit?
Этот компонент не поддерживает этой функциональность.
Но вы можете реализовать это используя событие: TDateEdit.OnChange
procedure TForm1.DateEdit1Change(Sender: TObject); begin if DateEdit1.Date < MinDate then DateEdit1.Date := MinDate; if DateEdit1.Date > MaxDate then DateEdit1.Date := MaxDate; end; -
Kitty отреагировална AngryOwl в [Android] Изменить вид кнопки по умолчанию
О чем и говорилось в ролике, который Вы процитировали (https://www.youtube.com/watch?v=eqrVYWZ8SPk)
-
Kitty отреагировална AngryOwl в [Android] Изменить вид кнопки по умолчанию
Эти стили есть тут (http://cc.embarcadero.com/item/29701)
Не уверен, что тут можно выложить этот архив или стили, так как согласно лицензионному соглашению, насколько я понял, - они бесплатны, их можно использовать в своих продуктах, но нельзя сохранять в проекте эти стили в виде отдельных файлов (в качестве встроенного ресурса - не вопрос).
Так-что в смысле "выложить их тут" - это скорее к нашим гуру (владельцам данного форума).
Если Вы имеете лицензионную копию XE5-6, то по данной ссылке можете скачать их без проблем.
-
Kitty отреагировална AngryOwl в [Android] Изменить вид кнопки по умолчанию
Ну вариантов два.
1. Создать собственный стиль.
1.1. Можете скопировать (создать дубль) в редакторе donetoolbutton или подобный (например ButtonStyle), обозвать его на свой лад (например donetoolMYbutton)
1.2. Сохранить файл и загрузить его в контейнер TStyleBook
1.3. Исправить в Вашем варианте то что Вам требуется (добавить элементы, заменить, и т.д. и т.п.)
1.4. Применить изменения
и пользовать для кнопок свой стиль (например donetoolMYbutton)
так Вам не потребуется конструировать большую часть элементов кнопки, если таковые есть...
2. Раз Ваш проект под Android, то можно загрузить стиль KitKatStyle_XE5, а именно AndroidDark.style или AndroidLight.style
Там уже есть стиль donetoolbutton и Вам потребуется сделать его дубль и соответствующие изменения,
либо изменить просто его так как Вам требуется
P.S. Ответ "нарисовал" примерно, не особо вдаваясь в детали. Но думаю, что все будет понятно.
-
Kitty отреагировална Andrey Efimov в [Android] Изменить вид кнопки по умолчанию
Я тоже стараюсь придерживаться данного правила. По ссылкам, которые находятся выше, я уже писал, что:
Стиль будет весить достаточно мало, и подгружаться быстро.
-
Kitty отреагировална Andrey Efimov в [Android] Изменить вид кнопки по умолчанию
Такая кнопка доступна, только когда вы создаёте не мобильный проект.
В случае с мобильными проектами, необходимо кидать на форму компонент TStyleBook, в него подгружаете необходимый стиль и прописываете StyleBook в форме, в свойстве StyleBook. Как изменить дизайн конкретного стиля, вам написал AlexG.
На форуме есть большой раздел "Стили", посвящённый работе со стилями, там можно найти ответы на многие вопросы.
Вот ещё полезная тема: [Mobile platform] где редактор стилей?
-
Kitty отреагировална AngryOwl в [Android] Изменить вид кнопки по умолчанию
Самый простой способ - отредактировать стиль, добавив копию "donetoolbutton", но обозвав ее иначе, например "donetoolrectbutton".
Создав копию, и обозвав ее "donetoolrectbutton", у вас останется и старый стиль и будет новый (собственный). А вот с "donetoolrectbutton" вы уже можете делать что пожелаете. Т.е. - добавить в слой новый объект - тот же TRectangle.
Можете изменить и "родной" стиль, добавив ему то, что требуется.
P.S. Как создать копию... На мой взгляд - проще всего в том же редакторе (например Notepad++).
-
Kitty отреагировална Andrey Efimov в Мировой тур RAD Studio XE7
Место проведения:
Москва (16 сентября 10:00 am - 14:00pm) - Русаковская ул., д. 13, стр. 5 Гостиница «Бородино» Астана (18 сентября 10:00 am - 14:00pm) - ул.Карасакал Еримбет, 65 Отель "Жумбактас" Екатеринбург (23 сентября 10:00 am - 14:00pm) - ул. Б. Ельцина, 1а БЦ «Президент» Ссылка на мероприятие: http://www.delphitour.ru/
Регистрация: http://forms.embarcadero.com/EM14Q3RUDeveloperDirectLive
Описание:
На конференции вы узнаете, как с помощью новых возможностей RAD Studio XE7:
разрабатывать кроссплатформенные приложения с новым конструктором единого интерфейса; улучшать производительность настольных и мобильных приложений с помощью библиотеки параллельных вычислений, используя преимущества многоядерных процессоров; cбалансировать ИТ инфраструктуру за счет включения мобильных сервисов
Количество мест ограничено, регистрируйтесь заранее.
-
Kitty отреагировална Brovin Yaroslav в Как определить, что ListBox прокручен в самый конец?
Добрый день,
Определить, что TListBox (TScrollBox) прокручен до конца можно используя событие OnViewPortPositionChange. Это событие вызывается каждый раз при прокручивании контента. Этот метод возвращает текущее положение ViewPort - позиция окна, в котором отображаются текущие элементы TListBox. Об этом подробно описано в этой статье: "Платформонезависимый скроллинг в Fire Monkey"
Ниже приведен код, который проверяет, что TListBox прокручен до конца.
procedure TForm1.ListBox1ViewportPositionChange(Sender: TObject; const OldViewportPosition, NewViewportPosition: TPointF; const ContentSizeChanged: Boolean); begin if NewViewportPosition.Y > ListBox1.ContentBounds.Height - ListBox1.Height then ShowMessage('End!'); end; -
Kitty отреагировална estra в Не срабатывают точки останова при отладке на Андроид устройстве
А почему тема заглохла? Между прочим очень актуально! Планшет Lexand, модель A702, ОС Android 4.2 - не работает отладка. После деплоя на устройство RAD Studio просто отключается от процесса. Что за ерунда и как это исправить?
-
Kitty отреагировална Andrey Efimov в Установка (перенос) приложения на SD карту
Вот, например, параметр installLocation в окне Project->Options->Version Info(Android). Все параметры, я описал у себя в блоге, также вы можете найти информацию по ним на английском языке в официальной справке.
-
Kitty получил реакцию от Nix0N в [Руководство] RAD Studio Mobile Tutorial - XE6
Поскольку основное отделение разработки FM, базируется в России, то существует ли вероятность того, что когда нибудь появиться подробное руководство на русском языке и с примерами которые были бы не только на паскале но и на С++?
Спасибо.
P.S.
У движка форума есть недочет. У меня написано что я Продвинутый пользователь. В FM я не Продвинутый пользователь, а полный zero.
-
Kitty получил реакцию от Brovin Yaroslav в [Руководство] RAD Studio Mobile Tutorial - XE6
Поскольку основное отделение разработки FM, базируется в России, то существует ли вероятность того, что когда нибудь появиться подробное руководство на русском языке и с примерами которые были бы не только на паскале но и на С++?
Спасибо.
P.S.
У движка форума есть недочет. У меня написано что я Продвинутый пользователь. В FM я не Продвинутый пользователь, а полный zero.
-
Kitty отреагировална Brovin Yaroslav в [Руководство] RAD Studio Mobile Tutorial - XE6
Название: RAD Studio Mobile Tutorial XE6
Язык: Английский
Скачать: Doc Wiki
Руководство хорошо описывает все фазы мобильной разработки: начиная от настройки среды и заканчивая использование мобильных сервисов.
-
Kitty отреагировална Brovin Yaroslav в Как добавить поддержку выделение TListBoxItem в своем стиле итема?
Чтобы добавить в свой итем поддержку выделения, нужно в TListBox добавить объект, который будет использоваться для выделения:
Добавляем TRectangle в стиль TStyleBox -> Background. Для добавленного прямоугольника задаем название стиля: StyleName = 'selection' Указываем цвет заливки прямоугольника После запуска TListBox будет использовать этот объект для осуществления выделения своих итемов.
-
Kitty отреагировална Brovin Yaroslav в Как получить доступ к свойству объекта в стиле и как повесить свой обработчик на его события?
Добрый день
О том, как получить доступ к любому свойству через StylesData (в том числе к свойству text) частично описано тут:
Как получить значение свойства объекта стиля, используя StylesData? Как получить объект стиля? Назначение обработчиков событий для элементов стиля через StylesData Допустим, что TSpinBox в стиле назван (StyleName), как 'spinbox', тогда
Присваивание обработчика для SpinBox:
ListBoxItem1.StylesData['spinbox.OnChange'] := TValue.From<TNotifyEvent>(SBCountChange); Доступ к свойству Text у TSpinBox:
ListBoxItem1.StylesData['spinbox.Text'].ToString; Таким способом можно получить доступ к любому свойству и событию любого элемента стиля.
-
Kitty отреагировална Brovin Yaroslav в Sphere Live - мультиплатформенная система c функциями видеоконференцсвязи, файлового обмена, облачного хранилища
Официальный сайт: http://sphere-live.com/
Обзорные статьи: HabraHabr, delphi2010.ru
Ссылки на приложения: Windows, OSX, Android
-
Kitty отреагировална estra в Как правильно добавить форму в мобильный проект?
> Я решила пока оставить свой код как есть, наверное, он правильный.
Ну как он может быть правильным? После создания и отображения форма сразу уничтожается (по коду), но продолжает отображаться на экране и нормально функционировать... В голове не укладывается, это из разряда - удивительно, но факт! Ярослав, пролейте свет на этот вопрос, самому уже интересно стало. А я бы сделал так:
unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, Unit2, FMX.StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; f: TForm2; implementation {$R *.fmx} procedure TForm1.Button1Click(Sender: TObject); begin f := TForm2.Create( nil ); f.Show; end; end. unit Unit2; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls; type TForm2 = class(TForm) Label1: TLabel; Button1: TButton; procedure Button1Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation {$R *.fmx} uses Unit1; procedure TForm2.Button1Click(Sender: TObject); begin Close; end; procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin f := nil; end; end. То есть закрывающаяся форма сама уничтожает экземпляр объекта, связанного с ней (в момент закрытия формы мы точно знаем, что она нам больше не нужна). Это тоже не самый изящный код, но по сравнению с вашим этот мне кажется немного правильнее...