기본 콘텐츠로 건너뛰기

안드로이드 액티비티의 시스템 UI, 뷰 영역 제어

ActivityMainBinding    activityMainBinding = ActivityMainBinding.inflate ( getLayoutInflater ( ) );

activityMainBinding.getRoot ( ).setSystemUiVisibility (

   //안전한 시스템 UI 레이아웃을 유지하도록 지정

   //뷰가 시스템 UI의 변경으로 인해 크기나 위치가 변해도 안정된 레이아웃을 유지할 수 있다.

   View.SYSTEM_UI_FLAG_LAYOUT_STABLE |       

   //뷰가 내비게이션 바가 표시되는 영역까지 확장

   | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION  

   //뷰가 상태바가 표시되는 영역까지 확장

   | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN  

   //내비게이션 바를 숨겨, 사용자의 터치나 제스처로 내비게이션 바가 나타나지 않도록 한다.

   | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 

   // 상태바를 숨겨, 사용자의 터치나 제스처로 상태바가 나타나지 않도록 한다.

   | View.SYSTEM_UI_FLAG_FULLSCREEN  

   //사용자가 액티비티의 화면 어느 곳이든 터치하면 시스템 UI가 일시적으로 표시되지만, 일정 시간이 지나면 다시 숨겨진다.

   | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY );


setContentView ( activityMainBinding.getRoot ( ) );


/* 결과적으로 위 코드를 통해 전체 화면을 차지하는 뷰를 만들고, 사용자가 화면을 터치하면 잠시 시스템  UI가 나타나도록 할 수 있다.

댓글

이 블로그의 인기 게시물

2 files found with path 'lib/x86_64/libc++_shared.so' from inputs: 오류 해결 방법

안드로이드스튜디오로 앱을 개발하는 과정에서 플러그인, 외부 라이브러리를 추가하다 보면 "2 files found with path 'lib/ x86_64 /libc++_shared.so' from inputs: "과 같은 오류를 만날 수 있다. 'lib/x86_64/libc++_shared.so' 파일이 2개의 라이브러리에서 참조되어 발생하는 문제로 컴파일 환경에 따라 플랫폼 부분은 변경되면 나타날 수 있다 app수준의 build.gradle 파일에 다음과 같이 처리하면 관련 문제를 깔끔하게 처리 가능하다. android { ... packagingOptions { pickFirst 'lib/ x86 /libc++_shared.so' pickFirst 'lib/ x86_64 /libc++_shared.so' pickFirst 'lib/ arm64-v8a /libc++_shared.so' pickFirst 'lib/armeabi-v7a/libc++_shared.so' } ... } * 실제 내 앱소스내 코드임 * 위와 같이 컴파일 환경에서 제공하는 플랫폼별 참조를 전부 한번에 처리하는게 관련 오류를 원천 차단할 수 있는 방법이다.

ConstraintLayout을 뷰의 오른쪽 사이드 중간에 배치해야 할때

안드로이드 스튜디오에서 자바기반의 앱을 만드는 과정에서 ConstraintLayout을 뷰의 오른쪽 사이드 중간에 배치해야할 상황이 생겼다. 아래 4개 속성으로 부모뷰의 오른쪽 사이드 중간에 배치문제 해결. //오른쪽에 배치될 수 있도록 설정 app:layout_constraintRight_toRightOf="parent" //수직으로 중앙에 위치시키도록 설정 app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" // 뷰를 수직으로 중앙에 위치시키기 위한 비율 값 설정. 0.5는 화면의 중앙에 위치하는 값 app:layout_constraintVertical_bias="0.5"

안드로이브 뷰의 백그라운드 설정을 위한 2개 메서드 이용 방법

setBackgroundResource()와 setBackground()를 이용해서 Android 애플리케이션에서 View의 백그라운드를 설정하는 두 가지 방법입니다. 1. setBackgroundResource()    - 리소스 ID를 통해 백그라운드를 설정합니다.    - 파라미터로 리소스 ID를 받으며, 주로 R.drawable에서 제공하는 이미지나 그림 리소스를 사용합니다.      예를 들어, setBackgroundResource(R.drawable.background_image)와 같이 사용합니다.    - 이 메서드는 내부적으로 리소스를 로드하고, 해당 리소스를 백그라운드로 설정합니다. 2. setBackground()     - Drawable 객체를 통해 백그라운드를 설정합니다.     - 파라미터로 Drawable 객체를 받으며, ColorDrawable, BitmapDrawable, GradientDrawable 등 다양한 종류의 Drawable을 사용할 수 있습니다.       ( 예 : setBackground(new ColorDrawable(Color.WHITE))와 같이 사용합니다.     - 이 메서드는 주어진 Drawable 객체를 직접 백그라운드로 설정합니다. 위 두가지 메서드의, 주요한 차이점은 setBackgroundResource()는 리소스 ID를 통해 백그라운드를 설정하고, setBackground()는 Drawable 객체를 통해 백그라운드를 설정한다는 것입니다.