2012-12-12 1 views
2

나는 지난 몇 시간 동안 새로운 DreamService API을 만지작 거리며 꽤 멋졌습니다. 그래도 한 가지 질문이 있습니다.DreamService의 화면 방향 잠금

DreamService이 표시되면 화면 방향을 가로로 고정하고 싶습니다. DreamService의 목적은 여러 와이드 스크린 사진을 표시하는 것이고 화면의 상단과 하단에 검은 색 막대가 표시되지 않게하려는 것입니다.

Java 코드에 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE), 매니페스트 파일에 android:screenOrientation="landscape"을 포함 해 여러 가지를 시도했지만 아무 것도 작동하지 않았습니다.

이것은 궁금합니다. DreamService의 방향을 잠글 수 있습니까?

답변

2

Android 개발자 팀은 얼마 전까지 실시간 개발자 행 아웃에서이 기능을 사용할 수 없음을 확인했습니다.

Google은 DreamServices이 두 화면 방향 모두에서 작동하기를 원하기 때문에 가능하지 않습니다.

0

아무런 해결책도 찾지 못해서 부끄러운 일이 있습니다. 레이아웃을 설정하기 전에 자동 회전 설정을 해제하는 것이 좋거나 효과가 없을 수있는 불쾌한 해결 방법을 사용해야했습니다.

<uses-permission android:name="android.permission.WRITE_SETTINGS" /> 
1

해결 방법 : 우리를 매니페스트에서

import android.provider.Settings; 
<...> 

    @Override 
public void onAttachedToWindow() { 

    Settings.System.putInt(getContentResolver(), 
      android.provider.Settings.System.ACCELEROMETER_ROTATION, 0); 

    setContentView(R.layout.dream_main); 
<...> 

: 당신의 DreamService 클래스에서

전자이 LIB https://github.com/rongi/rotate-layout

build.gradle

dependencies { 
     compile 'rongi.rotate-layout:rotate-layout:2.0.0' 
    } 

your_daydream_layout.xml

<com.github.rongi.rotate_layout.layout.RotateLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    app:angle="-90"> 

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <WebView 
     android:id="@+id/daydream_webview" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#2a2e31" /> 

    <TextView 
     android:id="@+id/dream_text" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:fontFamily="sans-serif-light" 
     android:text="..." 
      android:textColor="#abc" 
      android:textSize="20sp" /> 
    </RelativeLayout> 
</com.github.rongi.rotate_layout.layout.RotateLayout> 

그리고 BTW : 당신의 백일몽을 회전 자동으로 허용 ..에서 https://code.google.com/p/android/issues/detail?id=40226

"구현 된 것 같습니다 (아무도 우리에게 말하지 않았습니다). 불행히도 제대로 작동하지 않습니다. 가장 왼쪽의 화면 (Google Now?)으로 내 Nexus 6p (6.0.1, Build # MHC19Q)에서 왼쪽 상단의 햄버거 메뉴를 누르고 설정을 선택한 다음 하단의 으로 이동합니다. 홈 화면 옵션의 "회전 허용"이 있습니다. 활성화 된 을 사용하면 필요할 때 홈 화면이 가로 방향 방향으로 회전 할 수 있습니다. 그런 다음 백일몽은 해당 순환 게재를 상속받을 수 있으며 은 가로 모드로 표시됩니다. "- 2016 년 5 월 18 일