Difference between revisions of "Android Interface/Native Android GUI"
m (Reverted edits by Reverse22 (Talk); changed back to last version by Penilopa P) |
|||
Line 77: | Line 77: | ||
end. | end. | ||
</delphi> | </delphi> | ||
− | |||
− | |||
− | |||
− |
Revision as of 19:44, 2 January 2012
Go back to Android Interface
Android4Pascal
See the page about Android4Pascal, which is the bindings between Pascal programs and the Android Java APIs.
Manifest configuration
Control the program restart
By default the program will restart on orientation change, on keyboard change, and in a lot of other cases. This is usually unwanted. To disable program restart on keyboard showing and orientation changed add this to the manifest file:
<activity
...
android:configChanges="orientation|keyboardHidden"
See also:
Resource files
Guidelines for the Icons
Read here: http://developer.android.com/guide/practices/ui_guidelines/icon_design.html
Using other APIs
Using the Timer
The Android API bindings include a handy timer control called TAndroidTimer. It works just like a Runnable, and inside it a Handler class is utilized to run the Runnable in the main GUI thread so that event executed in this timer can call Android APIs.
Timer example
<delphi> program turbochessclock4android;
{$mode objfpc}{$H+}
uses
Classes, SysUtils, androidpipescomm, androidview, javalang, androidapp, androidtimer;//, gles11;
type
TEventHandler = class public procedure HandleOnTimer(ASender: TObject); procedure buttonClickCallback(v: TView); end;
var
//... TimerCount: Integer = 0; MyTimer: TAndroidTimer; MyEventHandler: TEventHandler;
procedure TEventHandler.buttonClickCallback(v: TView); begin
MyTimer.postDelayed(100);
end;
procedure TEventHandler.HandleOnTimer(ASender: TObject); begin
Inc(TimerCount); tv.setText(Format('Timer event #%d', [TimerCount])); MyTimer.postDelayed(1000);
end;
begin
MyEventHandler := TEventHandler.Create; // ...
end. </delphi>