Component Shift Out of Device Screen |
尚未結案
|
murraychen58
一般會員 發表:1 回覆:0 積分:0 註冊:2018-09-02 發送簡訊給我 |
環境:
1. Windows 7 FlagShip SP1 2. Embarcadero RAD Studio 10.2 Target: Android Style: Android View: Master 3. Device: Samsung Note 2 現象: 以 Multi-Device Application 開發出來的 Android APK (沒用到任何 Layouts Component, 僅有一個 TButton 及一個 TMemo 而已), 在 Device 上 Component 會有部份移出 Samsung Note 2 Screen 的外框 問題: 1. 是 Form Size 的設定錯誤嗎? 2. 如何用 Android AVD Manager Create 出 Samsung Note 2? 3. 如何讓 Form 可以自動 Re-Size 來 Match Device 的尺寸? Thanks. - Murray |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
Android 裝置本來就是百家齊放, 不若Apple 只有iPhone/iPad尺寸是很固定的, 所以前輩們都會告知, 要使用 TLayoutScale 來取代 TLayout
不過我自己的實作經驗, 用 TLayOUtScale 在 Android 上也無法完全解決match size 的問題, 所以我是用 TLayout 來做為框架(在Form的最上層置一個TLayout), 再把所有元件放在Layout 中 第二, 我自己算比例, 最簡單的做法, 你自己先定一個 Layout 的 size(height, width)做為基底(我通常是以 w360*h640), 而我們可以取得device screen size (Screen.Size.cx 及 cy), cx / layout width = 得出一個比例, 再把這個比例指定給 Layout 的 scale x 值, 就可以自動縮放到接近 device 的大小了, 包含layout 內的元件們, 這是最讓我讚賞的, 因為我不用寫code, 一個個將元件做縮放(fmx中每個視覺化元件都會有scale 的屬性), 當然計算會有些許誤差, 因此我還設計一個可手動調動 w/h 的功能做為微調 你沒有layout, 當然會造成部份元件超出手機大小! 以上純屬個人經驗, 不論證學術性!_ ===================引 用 murraychen58 文 章=================== 環境: 1. Windows 7 FlagShip SP1 2. Embarcadero RAD Studio 10.2 Target: Android Style: Android View: Master 3. Device: Samsung Note 2 現象: 以 Multi-Device Application 開發出來的 Android APK (沒用到任何 Layouts Component, 僅有一個 TButton 及一個 TMemo 而已), 在 Device 上 Component 會有部份移出 Samsung Note 2 Screen 的外框 問題: 1. 是 Form Size 的設定錯誤嗎? 2. 如何用 Android AVD Manager Create 出 Samsung Note 2? 3. 如何讓 Form 可以自動 Re-Size 來 Match Device 的尺寸? Thanks. - Murray |
pcplayer99
尊榮會員 發表:146 回覆:790 積分:632 註冊:2003-01-21 發送簡訊給我 |
Mobile 的屏幕小,不要像 Windows 程式一样,把屏幕划分成几个块。简单点,就是从上往下排列。
在不考虑比例缩放的情况下,最简单的办法,是把所有的元件,根据需要放入不同的 Layout,每个 Layout 都设置其 Align 为 Top。所有的 Layout 都放入一个 TVertScrollBox 里面,以便元件太多,屏幕太短,超出屏幕时,可以上下滑动。 在每个 Layout 里面的yuan'j元件,也采用 Align 为 Top 或者 Client 或者 Left 排列的方式。这样屏幕大小变了,它也是充满屏幕的,不会跑出去。 D10.3 有一个 Demo,演示了如何设计一个 UI,非常不错。这个 Demo 的名字:ProfileForm1 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |