Android Tutorial Designer Scripts Tutorial

aedwall

Active Member
Licensed User
Longtime User
Dimensions needed for Kindle

I made a variant of 600x1024 x1 for a Kindle, but the following does not seem to work properly:

btnChange.Right = 100%x
EditText1.Width = 100%x
EditText1.Top = btnDate.Bottom + 3dip
EditText1.Bottom = 100%y - 3dip

The EditText1 box should start just below the top buttons and extend to the bottom of the screen. My 320x480 and 480x800 variants seem to work correctly.
Thank you.
 

Attachments

  • ScreenShot_05-07-12 22;45;01001.png
    22.8 KB · Views: 565

aedwall

Active Member
Licensed User
Longtime User
Thank you. This fixed it.

But now I get no word-wrap in my edit box - everything is all on one line. It didn't do this before I added code in the variants script. Adding "EditText1.Wrap = True" doesn't help.
 

aedwall

Active Member
Licensed User
Longtime User
It appears that including this statement:

EditText1.InputType = EditText1.INPUT_TYPE_NONE

turns off word-wrap, no matter what. This can't be right.
 

aedwall

Active Member
Licensed User
Longtime User
'NOTE: if I set the below InputType, then I lose word-wrap, no matter what.
'EditText1.InputType = EditText1.INPUT_TYPE_NONE 'do not allow software keypad to appear
EditText1.Wrap = True

The above works.

When I uncomment out the line that reads .InputType, then it fails.
The .Wrap does not solve the problem.

The fix is apparently to add the .SingleLine instruction.

EditText1.InputType = EditText1.INPUT_TYPE_NONE 'do not allow software keypad to appear
EditText1.SingleLine = False
EditText1.Wrap = True
 
Last edited:

Kimmowich

Member
Licensed User
Longtime User
Problem with panel.height and buttons inside

hey

First of all I just love the the designer. Thanks for that :sign0098:

I have just hit the wall on a minor problem and I dont know what im doing wrong here.

I have a small panel where 2 buttons are placed. I can for some reason not center the buttons according to the panel.height. Infact, I cant even make the buttons touch the bottom of the panel with:

button1.SetTopAndBottom(0, panel1.Height)

Did test it on my phone (samsung galaxy s2) and emulator.

I have included the design if anyone would care to have a look at it. Would be nice if a fresh pair of eyes sees something I dont

sincerly
 

Attachments

  • main.bal
    4.7 KB · Views: 370

Kimmowich

Member
Licensed User
Longtime User
Thanks Erel for your fast response.

Now im curious.

The internal padding on a view, is there some way to get that value to compensate when designing? or is that not important at all?

sincerly
 

Jim Brown

Active Member
Licensed User
Longtime User
Hi Erel,
I am not sure why but my views are not scaling via the scripts.
Everything looks good in the designers abstract window (in many diffferent resolution settings). The script results also look fine when connected to a phone and/or tablet. However, when the app is compiled and run no scaling takes place

What I have is two Layout Variants for Portrait and Landscape
320x480 scale 1
480x320 scale 1

I have written the designer scripts for each layout in the lower box only. Everything based on percentages. Example:




Here is the result in a complied app (Galaxy Tab 7). No scaling happens. The layout is pretty much a 320x480 layout


Do I need to put any code in the top part of the script box?
 

vasper

Member
Licensed User
Longtime User
One quick question. Will the system choose the apropriate script according to landscape or portrait mode automatically? Or do I have to create Landscape modes for every variant?
 

Erel

B4X founder
Staff member
Licensed User
Longtime User
The system chooses the closest variant it finds. For larger tablets is might choose the portrait variant even if the tablet is in landscape orientation.

I recommend you to only create a landscape version for the standard phone variant.
At least when you start designing. In most cases the general script should do the work for the larger tablets.
 

Hubert Brandel

Active Member
Licensed User
Longtime User
Hi,

I want to make the buttons bigger on a higher resolution.
By now I just add these lines to MAIN Sub Process_Globals:

B4X:
Sub Process_Globals
   ...
   Dim nDisplayFaktor  As Float
   Dim nDisplayFontAdd As Int  
   Dim lv As LayoutValues
   lv = GetDeviceLayoutValues
   
   If lv.Width <= 480 Then
      nDisplayFaktor  = 1.00
      nDisplayFontAdd = 0
... 
   Else
      nDisplayFaktor = 1.30
      nDisplayFontAdd = 2
   End If
   dim nButSizeX, nButSizeY as int

in the script code of the Main window I insert this:

B4X:
'All variants script
nButSizeX      = 60%x  
nButSizeY      = 60dip * nDisplayFaktor

gives me an 'unassigned variable' error on nDisplayFaktor.
If I set it in the script it works, but when I want to call a function to give back the right value, the function name is shown as unknown variable ?

I want to have a central value for the zoom faktor. Is there a way to do it with the skript ?
 

Hubert Brandel

Active Member
Licensed User
Longtime User
Thanks for that clarification. I will use %x to decide how to zoom the controls ;-)

PS: I would prefere dip, but they are smale because of a 4" Smartphone layout, but now there are big tablets and they want to have bigger fonts and controls

:sign0098:
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…