Android 에서 화면 에 대한 세 가지 지식(와 이 드 스크린 어 울 리 기,캡 처 금지,화면 항상 밝 기 유지)

머리말
와 이 드 스크린 이 잘 어 울 리 고 캡 처 를 금지 하 며 화면 이 항상 밝 게 유지 되 는 세 가지 화면 과 관련 된 안 드 로 이 드 개발 소 규모 지식 은 언제 도움 이 될 지 모른다.
와 이 드 스크린 이 잘 어울린다.
안 드 로 이 드 의 스크린 어 울 리 기 는 우리 안 드 로 이 드 개발 자 들 을 괴 롭 히 고 있다.점점 더 많은 핸드폰 업 체 들 이 전면적 인 화면 디자인 을 하 는 경향 이 있다.예 를 들 어 올해 출하 된 18.5:9 화면 비율의 삼 성 갤 럭 시 S8 핸드폰 은 이틀 전에 18:9 화면 비율의 원 플러스 5T 핸드폰 을 발 표 했 는데 화면 비율 은 모두 과거 에 흔히 볼 수 있 었 던 16:9 비율 을 초과 했다.초대형 화면 비율의 디자인 은 안 드 로 이 드 앱 에 적합 한 화면 문제 가 존재 한다.
Manifest 목록 파일 에서 더 큰 값 의 android.max 를 정의 해 야 합 니 다.aspect 속성,우리 의 앱 이 불필요 한 화면 공간 을 충분히 이용 할 수 있 도록 보장 합 니 다.

<meta-data 
 android:name="android.max_aspect"
 android:value="2.1"/>
max_aspect 속성 은 앱 이 지원 할 수 있 는 최대 화면 비율 을 표시 합 니 다.공식 적 으로 이 값 을 2.1 또는 더 높 은 값 으로 설정 하 는 것 을 권장 합 니 다.
메모:meta-data 탭 을 사용 하지 않 았 다 면 maxaspect 속성 과 함께 android:resizeableActivity 속성 값 이 true 이면 앱 이 기본적으로 사용 하 는 최대 aspect 기본 값 은 1.8(약 16:9 모양)입 니 다.
비고:resizeableActivity 속성 은 targetSDK Version 이 24 보다 작은 응용 프로그램 에서 false 이 고 다른 것 은 true 입 니 다.
다음 그림 은 aspect 값 이 다른 App 이 높 은 화면 비례 장치 에서 의 디 스 플레이 효 과 를 비교 하여 보 여 줍 니 다.

왼쪽 은 16:9 의 aspect 설정 이 고 오른쪽 은 18.5:9 의 설정 이 며 똑 같이 화면 비율 이 18.5:9 인 대형 스크린 장 치 를 사용 합 니 다.낮은 비율 로 설 정 된 앱 이 열 렸 을 때 화면 위아래 에 여백 이 있 음 을 분명히 알 수 있다.즉,화면 공간 을 충분히 활용 할 수 없다 는 것 이다.
캡 처 금지
알 리 페 이 결제 QR 코드 와 같이 안전 에 대한 요구 가 비교적 높 은 화면 은 보통 차단 장치 캡 처 기능 을 선택한다.캡 처 단축 키 조합 을 동시에 누 르 면 시스템 은 캡 처 실패 등 관련 정 보 를 자동 으로 알려 줍 니 다.
캡 처 를 금지 하 는 실현 방식 은 그리 어렵 지 않 습 니 다.캡 처 를 금지 하 는 Activity 를 설정 해 야 하 는 라 이 프 사이클 onCreate()방법 에 코드 를 한 줄 추가 하면 됩 니 다.

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
안 드 로 이 드 개발 자 사이트 가 어떻게 설명 하 는 지 살 펴 보 겠 습 니 다FLAG_SECURE

이 flag 를 설정 하면 시스템 은 현재 창의 내용 을 안전 한 프라이버시 내용 으로 간주 하고 시스템 은 이러한 내용 이 캡 처 되 거나 안전 하지 않 고 신뢰 할 수 없 는 장면 에 나타 나 는 것 을 막 을 수 있다 는 뜻 이다.
Google 에서 다음 과 같은 기능 을 수행 할 수 있 는 flag 를 발 견 했 습 니 다.
화면 캡 처 차단
  • Recent apps(퀘 스 트 전환 인터페이스)에서 응용 이름과 아이콘 만 표시 하고 내용 은 표시 되 지 않 습 니 다
  • Google App 의 Now on tap 기능 은 페이지 의 내용 을 분석 하지 않 습 니 다화면 이 항상 밝 습 니 다.
    보통 우 리 는 휴대 전화 가 자동 으로 화면의 밝 기 를 조절 하거나 고정 시간 이 지나 면 자동 으로 화면 을 잠 그 는 것 을 설치한다.그러나 일부 앱 이나 일부 페이지 는 주식 실시 간 동향 페이지 와 같은 화면 을 항상 밝 게 유지 해 야 한다.
    구현 도 간단 합 니 다.캡 처 금지 처럼 필요 한 Activity 의 onCreate()수명 주기 방법 에 코드 를 추가 합 니 다.
    
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    팁 추가:
    캡 처 를 금지 하고 화면 을 항상 밝 게 유지 하 는 것 과 같은 수명 주기 방법 에 의존 하 는 코드 를 설정 합 니 다.여러 개의 Activity 에 적용 해 야 한다 면 BaseActivity 기본 클래스 에 두 고 중복 코드 를 만 들 지 않도록 할 수 있 습 니 다.아니면 이 신기 한 Activity 라 이 프 사이클 인 터 페 이 스 를 빌 릴 수도 있 습 니 다.
    ActivityLifecycleCallbacks
    사용자 정의 Application 클래스 onCreate()방법 에 추가:
    
    registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
     @Override
     public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
     activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
     activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
     }
     //          Activity       
     ...
    });
    총결산
    이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

    좋은 웹페이지 즐겨찾기