面向 Android 时,为啥我的 TextField 在屏幕上如此之小?
Posted
技术标签:
【中文标题】面向 Android 时,为啥我的 TextField 在屏幕上如此之小?【英文标题】:Why is my TextField so small on the screen when targeting Android?面向 Android 时,为什么我的 TextField 在屏幕上如此之小? 【发布时间】:2018-01-21 05:53:31 【问题描述】:阅读默认大小应为 12 像素。这是关于 DPI 的吗?如何解决?
编辑
谢谢大家,但这似乎与字体大小无关。它看起来像是关于处理 DPI 的事情,因为它也发生在简单的 Sprite
s 上,而且奇怪的是 android 接缝上的颜色使用反转的 RGB 序列????
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;
【问题讨论】:
TextFieldAutoSize.CENTER. help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/… 【参考方案1】:您可以使用sp
尺寸单位,它在不同的 dpi 屏幕上看起来总是相同的尺寸。
【讨论】:
【参考方案2】:请试试这个。
text.autoSize = "center";
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextFieldAutoSize.html
您可以将Sprite
的大小调整为 100%。
Auto size text field with Actionscript 3 -- 这个链接可以帮到你。
【讨论】:
以上是关于面向 Android 时,为啥我的 TextField 在屏幕上如此之小?的主要内容,如果未能解决你的问题,请参考以下文章
Android,当我更新我的图像时,为啥启动器图标和其他图像永远不会改变?
为啥在调试 android google maps 示例时没有调用我的 onLocationChanged() 方法?
为啥我的 android 设备无法连接到 charles 代理,但在我连接到 Fiddler 代理时可以工作?
当我在我的 android 应用程序中从图库中加载图像时,为啥位图返回较小的图像?