在Android上爆炸的肖像HDMI输出(三星Galaxy S III)

目前,当您将外接显示器连接到支持镜像的Android手机时,手机会假设外接显示器是横向设置的.因此,当手机垂直握持(在这种情况下,Galaxy S III)纵向时,显示器上的视频输出是纵向的,但是两侧都是黑条.当然,当手机水平放置时,输出会填充外部显示器.

我正在寻找的是一种强制Galaxy S III镜像其屏幕的方法,这样当它以纵向方向保持时,输出将填充外部显示器.它必须适用于Android – 我不是特别谈论特定的应用程序,它需要在所有应用程序中一致地工作.

外部显示器将垂直安装,因此在纵向方向上Galaxy S III的输出必须完全填充并在外部显示器上具有正确的方向.

谁能给我任何关于从哪里开始的建议?我已经查看了S III的源代码,但却找不到任何线索(我在Android上编写自己的驱动程序时没有经验).这将适用于美国版本(特别是Verizon,尽管视频硬件 – Adreno 225 GPU和SiI9234 MHL控制器芯片 – 在所有美国版本中都是相同的).也许在这个领域更有经验的人可以对此有所了解.

解决方法:

不幸的是,这是不可能的.您必须以横向模式开发应用程序,然后旋转所有视图/内容,使其看起来处于垂直纵向模式.一种选择是动画.即:

rotateAnimation.xml:

<rotate  xmlns:android="http://schemas.android.com/apk/res/android"
       android:fromDegrees="0" 
       android:toDegrees="-90"
       android:pivotX="50%"
       android:duration="0"
       android:fillAfter="true" />

你的代码:

  TextView text = (TextView)findViewById(R.id.txtview);       
  text.setText("rotated text here");

  RotateAnimation rotate=    (RotateAnimation)AnimationUtils.loadAnimation(this,R.anim.rotateAnimation);
t.setAnimation(rotate);

你也可以看看这篇文章:

Vertical (rotated) label in Android

上一篇:在 GitHub 玩硬件——GitHub 热点速览 Vol.49


下一篇:LinkLib例子之二:Hi3531D AIO示例,音频环出