2020年11月17日 星期二

【Delphi Rx Multi-Device】 Andriod 環境建置

Delphi RX安裝時出現的提示畫面

需要下載 Java Se Development Kit 7

選擇[Y]會開啟Java Download的網頁,網頁自然會優先將最新版本顯示在網頁上,下載最新版本的JDK不會被Delphi套用,必須下載訊息畫面中Java SE Development Kit7的版本,在Java Download網頁我選擇下載的是 Java SE Development Kit 7u80 的版本。

安裝完 Java JDK、Delphi RX後,在Delphi Rx 選單 Tools 點選 Options來設定SDK Manager

Options

SDK Manager會有一組已存在的SDK Version的選項,建議刪除預設的SDK Version。
新增SDK Version設定適應的執行環境




圖中(1)(2)參考範例找到對應的SDK及NDK路徑,圖中(3)會自動帶出 (如果安裝的SDK版本沒有被Delphi接受,不會被自動帶出,即使手動填入也無法完成設定)。

完成SDK Manager設定,即可順利編譯Multi-Device的專案。

編譯後出現 [Exec Error] the command "PATH C:\Program files......的錯誤訊息

複製訊息,剔除訊息左邊第一個雙引號左邊的字串,及訊息最後一個雙引號右邊的字串,貼到 命令提示字元 中執行,結果出現 Could not create the Java Virtual Machine的錯誤

系統內容環境變數 裡新增系統變數



變數名稱 _JAVA_OPTIONS
變數值 -Xmx512m



2020年11月11日 星期三

【Delphi Multi-Device Application】 Menu選單

在畫面放置 [MultiView] ,再放置 [Button] 做事件觸發用,放置 [ShadowEffect][Multiview] 裡可以使 MultiView 有陰影的效果

在 MultiView屬性設定
  MasterButton 指向 Button1
  Mode 設定為 Drawer
MultiView設定

Button.StyleLookup 可以用來設定按鈕上的圖示

如果要做到 Button 觸發時,圖示轉動效果可以在 Button.OnClick 事件處理

--------------------
Button.OnClick
--------------------
  if button1.Tag=1 then
  begin
    Button1.AnimateFloat('RotationAngle', 0, 0.5);
    button1.Tag := 0;
  end
  else
  begin
    Button1.AnimateFloat('RotationAngle', 180, 0.5);
    button1.Tag := 1;
  end;

【Delphi Multi-Device Application】 觸控頁面滑動切換

 放置 [TabControl],並建立二個 [TabItem]TabControl.TabPosition屬性設置為None,如下圖

TabControl設定

放置 [ActionList],產生二個 ChangeTabAction,將Tab屬性分別對應到TabItem1、TabItem2
ActionList設定


放置 [GestureManager]
   TabControl.Touch選項
     GestureManager 指向 GestureManager1,
     Gestures → Standard觸控方向的動作,Left指向ChangeTabAction2,Right指向ChangeTabAction1。