Hi all,
I already know that in designer, we can use AutoScaleAll to scale all the button's, label's... text size. However, I have an array of button which I add by code, I can NOT use AutoScaleAll. I come through some formula but not sure which one is the most appropriate. 2 formulas I use are:
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
And
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
When I test using my Xperia Z 1080 x 1920 441 ppi scale 3, using both formula, the text seems to be fine
When I test using my friend's Xiaomi Mi Note 1080 x 1920 386 ppi scale unknown, using 2nd formula, the text seems too big
Can anyone help me? Thanks.
			
			I already know that in designer, we can use AutoScaleAll to scale all the button's, label's... text size. However, I have an array of button which I add by code, I can NOT use AutoScaleAll. I come through some formula but not sure which one is the most appropriate. 2 formulas I use are:
			
				B4X:
			
		
		
		Dim RealInches, RealScale As Double
    Dim BaseInches, BaseScale As Double
    Dim Ratio As Double
    RealInches = GetDeviceLayoutValues.ApproximateScreenSize
    RealScale = GetDeviceLayoutValues.Scale
    BaseInches = 4.33 'My test device screen size
    BaseScale = 3 'My test device scale factor
    Ratio = RealInches/BaseInches * Sqrt(RealScale/BaseScale)
    Return Ratio
	And
			
				B4X:
			
		
		
		Dim scale As Double
    Dim delta As Double = ((100%x + 100%y) / (640dip + 360dip) - 1)
    Dim rate As Double = 0.5 'value between 0 to 1.
    scale = 1 + rate * delta
    Return scale
	When I test using my Xperia Z 1080 x 1920 441 ppi scale 3, using both formula, the text seems to be fine
When I test using my friend's Xiaomi Mi Note 1080 x 1920 386 ppi scale unknown, using 2nd formula, the text seems too big
Can anyone help me? Thanks.