Разорванный портретный выход HDMI на Android (Samsung Galaxy S III)

В настоящее время при подключении внешнего монитора к телефону Android, который поддерживает зеркалирование, телефон предполагает, что внешний монитор настроен в горизонтальной ориентации. Таким образом, когда телефон удерживается вертикально (в данном случае Galaxy S III) в портретной ориентации, видеовыход на дисплее является портретным, но по центру с черными полосами с обеих сторон. Конечно, когда телефон удерживается в горизонтальном положении, выход заполняет внешний дисплей.

То, что я ищу, - это способ заставить Galaxy S III отражать свой экран таким образом, чтобы, когда он удерживался в портретной ориентации, выходные данные заполняли внешний дисплей. Это должно было бы работать через Android - я не говорю о конкретном приложении в частности, оно должно работать согласованно во всех приложениях.

Внешний дисплей будет установлен вертикально, поэтому важно, чтобы выход Galaxy S III в портретной ориентации полностью заполнял и имел правильную ориентацию на внешнем дисплее.

Кто-нибудь может дать мне какой-нибудь совет, с чего начать? Я уже просмотрел исходный код S III и не смог найти никаких подсказок (у меня нет опыта в написании моих собственных драйверов для Android). Это было бы для американских вариантов (в частности, Verizon, хотя видеооборудование - графический процессор Adreno 225 и контроллер SiH9234 MHL - одинаково для всех американских вариантов). Возможно, кто-то более опытный в этой области мог бы пролить свет на это.

1 ответ

К сожалению, это невозможно. вам нужно будет разработать свое приложение в альбомном режиме, а затем повернуть все ваши представления / контент, чтобы создать впечатление, что оно находится в вертикальном портретном режиме. Одним из вариантов для этого были бы анимации. то есть:

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);

Также вы можете взглянуть на этот пост:

Вертикальная (повернутая) метка в Android

Другие вопросы по тегам