Jump to content

Silvio Torres

Members
  • Content Count

    1
  • Joined

  • Last visited

Posts posted by Silvio Torres


  1. Hi, all...

     

    I'm using a customized view for Android Phone Samsung A03, but it is not selected in runtime:

     

    Through the use of functions to return the values of physical and logical pixels size of screen, I determined the values to be used in the specifications in DevicePresets.XML.

    I created a package .BPL with TDeviceinfo.AddDevice method in a unit, instaled this package, in design time is showed correctly.

    In the main form of the application, I added the unit in USES clause.

     

    DevicePresets.XML:

        <MobileDevice>
            <Name>SA03</Name>
            <DevicePlatform Default="False">3</DevicePlatform>
            <Portrait Enabled="True" Width="360" Height="706" Top="22" Left="17" StatusbarHeight="0" StatusBarPos="0" Artwork="C:\Desenvolvimento\DelphiSA03.jpg" Mask=""/>
            <UpsideDown Enabled="False" Width="0" Height="0" Top="0" Left="0" StatusbarHeight="0" StatusBarPos="0" Artwork="" Mask=""/>
            <LandscapeLeft Enabled="False" Width="0" Height="0" Top="0" Left="0" StatusbarHeight="0" StatusBarPos="0" Artwork="" Mask=""/>
            <LandscapeRight Enabled="False" Width="0" Height="0" Top="0" Left="0" StatusbarHeight="0" StatusBarPos="0" Artwork="" Mask=""/>
            <Displayname>Samsung A03</Displayname>
            <UserData>True</UserData>
            <FormFactor>2</FormFactor>
            <Thumbnail>C:\Users\Silvio\AppData\Roaming\Embarcadero\BDS\21.0\Thumbs\SA03</Thumbnail>
            <Default/>
            <Hidden/>
        </MobileDevice>

     

    Unit in .BPL package:

     

    unit SA03;

    interface

    implementation

    uses

      system.Devices, system.Types, system.SysUtils;

    const
      ViewName = 'SA03'; // The unique name of the view, it has to be the same name as the one written between <Name></Name> tags of the DevicePreset.xml file.

    initialization

      TDeviceinfo.AddDevice(TDeviceinfo.TDeviceClass.Phone, ViewName,
        TSize.Create(706, 360), TSize.Create(706 div 2, 360 div 2), // MinPhysicalSize(max, min), MinLogicalSize(max, min)
        TSize.Create(1459, 720), TSize.Create(1459 div 2, 720 div 2), // MaxPhysicalSize(max,min), MaxLogicalSize(max,min)
        TOSVersion.TPlatform.pfAndroid, 269); //Select the platform and the pixel density.

    finalization

      TDeviceinfo.RemoveDevice(ViewName); // To unregister the view after unistalling the package.

    end.

     

    I'm forgetting something?

     

    Thanks in advance!

×