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

TScaledLayout.Scale.X & Y 沒作用

尚未結案
IamPeter
一般會員


發表:1
回覆:0
積分:0
註冊:2012-05-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2019-09-25 16:09:37 IP:118.150.xxx.xxx 未訂閱
各位先進:
我在xe8 上 Create a new Multi-Device Application (Delphi),
設計時 view: 是選 Android 5" Phone,
我在 form 上放 ScaledLayout, 上面再放各元件,
此手機是Sumsung Galaxy 4 5.5吋
Screen.Size.Width = 411,
Screen.Size.Height = 731,
在FormCreate 程序上加入下面二行程式碼
ScaledLayout1.Scale.X := Screen.Size.Width / 411;
ScaledLayout1.Scale.Y := Screen.Size.Height /731;
但為何在別的手機(5吋)執行時,有些元件卻超出營幕不見了,
除了ScaledLayout 的 Scale 的 X & Y 要設定外,
是不是還有其他的property 我沒設定,
謝謝不吝指教!
------
陳彼得
stacker_liew
中階會員


發表:59
回覆:168
積分:65
註冊:2004-05-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2019-10-29 11:36:51 IP:60.51.xxx.xxx 未訂閱
首先XE8太舊了。
再來安卓上面螢幕尺吋亂七八槽,通常開發應用是不會指定應用是指定何種尺吋使用的。
理想狀況而且也是必須的就是應用是必須自動適應任一種尺吋螢幕的。
通常情況下應該是用各種Layout,Panel等等之類的容器把Align,Margin都設定好,那就行了。
這種方法用在VCL方面也是可行的。
P.D.
版主


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2019-11-13 23:12:09 IP:36.229.xxx.xxx 未訂閱
不管幾吋的螢幕, 各家手機的解析度都不盡相同, 假如你用asus設計的OK, 在samsung上未必就能完成相同, 通常我不會用scaledlayout 來自動計算, 因為從xe4起這個layer的計算就不是很精確(在ios上還可以), 所以我都用layout 搭配自己的scale/x,y 自己做調整, 另外還提供手動調整上下左右的位移並記錄起來, 這樣才能適應所有Android手機, 不要想一套計算吃遍所有安卓, 所以我經常在說, 用xe設計app, app, 開發時間有一半以上是在做美工及調整, 真正寫程式的機會不到一半
系統時間:2024-04-28 13:35:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!