因此,我将这个应用程序设置为以纵向模式显示。当我在android上运行它时,它变为“人像”,但仅在屏幕中央。它不会做您会做的事。例如,在平板电脑上进入纵向模式并占据整个屏幕的平板电脑。
我尝试了每个著名的root访问应用程序,但是他们不能给我root访问权限,以便能够编辑build.prop。 KingRoot甚至说我的设备太坚固了。
所以,我现在计划的是通过代码来完成。我的应用程序非常简单,因此在设计方面不会给我带来很多问题。它只包含一个webview,仅此而已。
我希望它甚至可以在非Android电视盒上使用,因为我们在Android盒上使用了各种类型,如果仅在真正的Android电视盒上使用,这对我来说是个问题。
经过一些试验,我编写了这段代码。
<form id="customer-input">
<h1>Create Customer</h1>
<label>
<span class="label-text">Name:</span>
<input type="text" name="name">
</label>
<label>
<span class="label-text">Email:</span>
<input type="text" name="email">
</label>
<label>
<span class="label-text">Phone:</span>
<input type="text" name="phone">
</label>
<button type="submit">Create Customer</button>
</form>
<form id="customer-search">
<h1>Find Customer</h1>
<label>
<span class="label-text">Phone:</span>
<input type="text" name="phone">
</label>
<button type="submit">Find Customer</button>
<div class="output"></div>
</form>
if(forcePotrait){
webview.setRotation(-90f);
int measuredWidth = 0;
int measuredHeight = 0;
Point size = new Point();
WindowManager w = getWindowManager();
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
w.getDefaultDisplay().getSize(size);
measuredWidth = size.x;
measuredHeight = size.y;
}else{
Display d = w.getDefaultDisplay();
measuredWidth = d.getWidth();
measuredHeight = d.getHeight();
}
int[] scrData = getScreenDimension();
ConstraintLayout.LayoutParams lytParams = new ConstraintLayout.LayoutParams(scrData[1], scrData[0]);
lytMain.removeAllViews();
lytMain.addView(webview, 0, lytParams);
}
是一种获取设备屏幕尺寸的方法。
它旋转getScreenDimension
,但它只占据屏幕的一部分,也只显示页面的一部分。我使用WebView
作为我的基本布局。我还打开了ConstraintLayout
上的Show Layout Bounds
,看来Developer Options
的绘制不正确,因为红线是中心的几dps,而不是{{ 1}}的显示。
我找到了这个,并在我的项目https://stackoverflow.com/a/26711189/10464730中使用了它。这是链接中的代码。
WebView
现在,我不需要手动旋转WebView
。但是public class VWebView extends WebView {
final boolean topDown = true;
public VWebView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void draw(Canvas canvas) {
if (topDown) {
canvas.translate(getHeight(), 0);
canvas.rotate(90);
} else {
canvas.translate(0, getWidth());
canvas.rotate(-90);
}
canvas.clipRect(0, 0, getWidth(), getHeight(), android.graphics.Region.Op.REPLACE);
super.draw(canvas);
}
}
仍然无法填满整个屏幕。
下面的代码使用的值与我在屏幕尺寸方法上获得的值接近,因此我得到了屏幕截图结果。
WebView