全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2571
推到 Plurk!
推到 Facebook!

stylebook 的用法

答題得分者是:pcplayer99
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2015-03-30 01:25:33 IP:118.160.xxx.xxx 未訂閱
請問各位

XE7 支援 TStyleBook 的功能, 但我在 Android 的環境下, 不管選擇那一種 Style , 丟到真機後, 看到的都是只有一種(如 TEdit 就是下底線一條, 不像在 IOS 上是呈現一個輸入框)
但我選擇 StyleBook , 在編輯視窗中, 是會立即改變形式的,
所以想請問各位, 不知在 XE7 的 Android 平台, 是否有辦法改變原有的元件形式(即所謂的換膚)
pcplayer99
尊榮會員


發表:146
回覆:790
積分:632
註冊:2003-01-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2015-03-30 10:38:06 IP:120.236.xxx.xxx 訂閱
Android 底下,肯定支持 Style 的。你还可以编辑那些 Style 文件来试试。

我的测试是:直接拖一个 styleBook 丢到主 Form 里面。为这个 StyleBook 加载一个 Style 文件。主 Form 的 StyleBook 的 Property 选择用这个 StyleBook。

然后到 Android 里面,可以看到 StyleBook 起作用了。

这个 StyleBook 有一个问题:在 Android 底下,只能加载 Delphi 提供的给 Android 的 Style 文件,不能加载 iOS 的。
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2015-03-30 23:57:01 IP:118.169.xxx.xxx 未訂閱
感謝指點, 所描述的動作正是我的動作, 但手機(或平板)上仍然是看到 Edit 的那條線,
我所選擇是 C:\RadStudio\15.0\Redist\styles\Fmx\Android\AndroidSterling.style
pcplayer99
尊榮會員


發表:146
回覆:790
積分:632
註冊:2003-01-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2015-03-31 10:25:04 IP:120.236.xxx.xxx 訂閱
有没有可能是,你选择的 style 其实已经起作用了,但它给 Edit 的 style 就是那个样子的?
你可以对 Edit 指定一下 styleLookup 这个 Property 然后看它变不变成对应的样子。然后,你直接对那个 style 文件里面对应的图片进行修改,然后看看 Edit 是不是变样子了。

这样可以确定你指定的 style 是否已经起了作用。

比如,我自己把 Delphi 带的一个 style 文件,把里面的图片(PNG 档)倒出来,然后用画图工具修改掉,然后再另存为另外一个 style 文件,然后指定 StyleBook 使用我自己新做的这个 style 文件,然后给 SpeedButton 指定一个 Style Lookup 的 Property 名字。然后 run 在 Android 手机里面,确实可以看到它的样子就是我画的图。
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2015-04-02 22:19:41 IP:118.160.xxx.xxx 未訂閱
感謝再度指點, 但所提方法最早我就已試過,
我只很簡單放一個 TEdit 及 TButton 兩個元件,
把 TStyleBook放進來, 指定好所要的 style,
再把 Form1 的StyleBook properity 指定給 StyleBook1
此時, 螢幕上會立即改變 這兩組的形式,
一旦丟到真機, 則完全看不到任何改變(與沒有放 stylebook 是一樣的)
實在不知道還有那裡遺漏沒有設定到
XE7 螢幕下的結果


手機上的結果




編輯記錄
P.D. 重新編輯於 2015-04-02 22:21:32, 註解 無‧
pcplayer99
尊榮會員


發表:146
回覆:790
積分:632
註冊:2003-01-21

發送簡訊給我
#6 引用回覆 回覆 發表時間:2015-04-03 11:13:39 IP:120.236.xxx.xxx 訂閱
我再次做了一下测试,步骤如下:

1. 开启一个新的 Project,有一个 FireMonkey Form。
2. 拖一个 StyleBook 过来,指定 Form 的 StyleBook 这个 Property 为这个 StyleBook1.
3. 点这个 StyleBook1 的 Property 里面的 【Resource】,弹出对话框,然后点【Load】,加载一个我自己修改过的 Style 档案。这个档案里面,我把灰色的 > 符号,改成蓝色的了。方法是找一个现成的 Style 档案,导出里面的 PNG 图片,用画图工具修改 PNG 图片,然后再导入,然后把这个 Style 档案 Save as... 为另一个名字的档案。
4. 拖一个 SpeedButton 过来,在它的 Property 里面,找到 Style lookup ,点下去,会下拉出一堆 icon 出来。这些 icon 就是 StyleBook1 的 Resource 里面刚才我加载的 Style 档案里面的 PNG 图片带来的。这个时候,能看到我修改过的蓝色 ICON。(这是在 Design time)。
5. 接上手机,RUN。手机上出来的 APP,那个按钮确实是一个蓝色的 “>” Icon。说明使用 StyleBook 成功了。

看看你的步骤是不是这样子的?
我一开始试用这个 StyleBook 的时候,因为没搞懂它内部的机理,也是搞了好久才搞出来的。
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#7 引用回覆 回覆 發表時間:2015-04-06 01:57:22 IP:118.169.xxx.xxx 未訂閱
終於試出來了,
其實動作與pcplayer99一模一樣, 但我的問題出來
我把 StyleBook 的 filename 有指定路徑來源, 而 Resource 也有 Load, 在這個情況手機就出不來了,
當我把 filename 的部份清空, 手機的style 就呈現出來
也感謝 pcplayer99 多次協助
pcplayer99
尊榮會員


發表:146
回覆:790
積分:632
註冊:2003-01-21

發送簡訊給我
#8 引用回覆 回覆 發表時間:2015-04-06 22:50:32 IP:183.15.xxx.xxx 訂閱
恭喜。

那就是说,它优先用 FileName 这个 Property. 但如果没有 File 它应该自动去使用 Resource 这个它没做好。这样就容易让人搞不清楚状况。
系統時間:2024-04-27 3:36:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!