2017-08-13 47 views
3

请注意,默认大小应为12px。这是关于DPI的吗?怎么解决?为什么我的TextField在定位Android时在屏幕上很小?

enter image description here

编辑
谢谢你这么多,但是这并不接缝被什么东西相关的字体大小。它看起来像它的东西有关处理DPI,因为它与简单Sprite发生太小气,和古怪的Android上接缝处的颜色使用倒转的RGB序列

enter image description here

Main.hx

package; 

import openfl.display.DisplayObjectContainer; 
import openfl.display.Sprite; 
import openfl.display.StageAlign; 
import openfl.display.StageScaleMode; 
import openfl.events.Event; 
import openfl.system.Capabilities; 
import openfl.text.TextField; 
import ru.stablex.ui.UIBuilder; 

class Main extends Sprite 
{ 
    private var size: Float = 100; 

    private var r: Sprite; 
    private var g: Sprite; 
    private var b: Sprite; 

    public function new() 
    { 
     super();   
     addEventListener(Event.ADDED_TO_STAGE, addedToStage, false, 0, true); 
    } 

    private function addedToStage(event: Event): Void 
    { 
     stage.scaleMode = StageScaleMode.NO_SCALE; 
     stage.align = StageAlign.TOP_LEFT; 

     r = createSquare(this, 0x00FF0000, size); 
     g = createSquare(this, 0x0000FF00, size); 
     b = createSquare(this, 0x000000FF, size); 

     stage.addEventListener(Event.RESIZE, resize, false, 0, true); 
     resize(null); 
    } 

    private function resize(event: Event): Void 
    { 
     r.x = 0; 
     r.y = 0; 

     g.x = (stage.stageWidth/2) - (size/2); 
     g.y = (stage.stageHeight/2) - (size/2); 

     b.x = stage.stageWidth - size; 
     b.y = stage.stageHeight - size; 
    } 

    private function createSquare(parent: DisplayObjectContainer, color: Int, size: Float): Sprite 
    { 
     var box: Sprite = new Sprite(); 

     box.graphics.beginFill(color); 
     box.graphics.drawRect(0, 0, size, size); 
     box.graphics.endFill(); 

     parent.addChild(box); 

     return box; 
    } 
} 
+0

TextFieldAutoSize.CENTER。 –

+0

http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/flash/text/TextField.html#autoSize –

回答

2

你可以使用sp尺寸单位,这在不同的dpi屏幕上总是显示相同的尺寸。

相关问题