我正在创建一个能够在全屏模式下显示数字时钟的应用。 API 19及以上。
我使用了return $('<div/>').attr({id: 'suggestionId'}).addClass('suggestion').html('No Message Found');
,但是文本(时间)的大小不是(重新)适合整个屏幕。我希望它根据屏幕尺寸进行自我调整。但事实并非如此。
这是我尝试做的事情:
ClockView
我知道文字应该是 DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int height = metrics.heightPixels;
int width = metrics.widthPixels;
float fontscale = getResources().getConfiguration().fontScale;
float textSize = (width/fontscale)/5;
textclock.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize);
单位。但我不确定如何准确地进行计算。我在这里尝试了一些关于PX到SP转换的答案,但它没有用。它放大了太多。
如何可靠地实现文本大小调整。我在OS上尝试过几个“解决方案”。我要么不理解他们,要么他们不工作。
我也在想,我应该使用数字的透明文本图像,然后用它们来显示时间。可以为这些图像更改背景颜色。我可以为不同的设备屏幕尺寸创建它们。但我不知道如何获得透明的TEXT。我尝试过在线应用,但他们用彩色文字创建透明背景。我想通过TEXT(字体)(可能是一个数字的切出透明图像?)来查看我用于sp
然后有背景颜色吗?任何人对此方法有任何意见吗?
与此应用相关的另一个问题是,我已将活动方向设置为ImageView
中的横向,但它会进入纵向方向,然后进入横向方向。如何在没有用户注意过渡的情况下确保它以横向模式启动?