ImageView에는 adjustViewBounds라는 속성이 있다.
adjustViewBounds는 src로 추가된 이미지의 원래 비율을 계산해서 ImageView의 높이가 결정된다.
주의할 점은 이미지의 height은 wrap_content여야 높이를 비율에 맞게 설정할 수 있고,
background가 아닌 src로 drawable이미지를 추가해야 한다.
안드로이드 기기 호환성
안드로이드는 휴대 전화에서 태블릿, TV에 이르기까지 다양한 유형의 기기에서 실행되도록 설계되었다. 앱이 이러한 모든 기기에서 성공하려면 일부 기능 변동을 허용하고 다양한 화면 구성에 적응할 수 있는 유연한 인터페이스를 제공해야한다. 이러한 목표를 향한 노력을 돕기 위해 Android는 정적 파일(예: 화면 크기에 따라 다른 XML 레이아웃)로 구성 별 앱 리소스를 제공할 수 있는 동적 앱 프레임 워크를 제공한다. 그런 다음 Android는 현재 기기 구성에 따라 적절한 리소스를 로드한다. 따라서 일부 앱 디자인 및 추가 앱 리소스를 고려하여 다양한 장치에서 최적화 된 사용자 환경을 제공하는 단일 애플리케이션 패키지(APK)를 게시 할 수 있다.
그러나 필요한 경우 앱의 기능 요구 사항을 지정하고 Google Play 스토어에서 앱을 설치할 수 있는 기기유형을 제어할 수 있다. 이 페이지에서는 앱에 액세스할 수 있는 장치를 제어하는 방법과 올바른 대상에 도달하도록 앱을 준비하는 방법에 대해 설명한다.
"호환성"이란 무엇인가?
Android개발에 대한 자세한 내용을 읽으면 다양한 상황에서 "호환성"이라는 용어가 나타날 수 있다. 호환성에는 장치 호환성과 앱 호환성의 두가지 유형이 있다. Android는 오픈 소스 프로젝트이므로 모든 하드웨어 제조업체는 Android운영체제를 실행하는 장치를 구축 할 수 있다. 그러나 기기는 Android 실행 환경 용으로 작성된 앱을 올바르게 실행할 수 있는 경우에만 "Android 호환"이다. Android 실행 환경의 정확한 세부 사항은 Android 호환성 프로그램에의해 정의되며 각 디바이스는 호환 가능한 것으로 간주 되려면 호환성 테스트 스위트(CTS)를 통과해야한다.
앱 개발자는 Android 호환기기만 Google Play Store를 포함하므로 기기가 Android와 호환되는지 여부에 대해 걱정할 필요가 없다. 따라서 Google Play Store에서 앱을 설치하는 사용자는 Android호환 기를 사용하고 있으므로 안심할 수 있다.
//
그러나 앱이 각 잠재적 장치 구성과 호환 되는지 여부를 고려해야한다. Android는 광범위한 기기 구성에서 실행되므로 일부 기기에서는 일부 기능을 사용할 수 없다. 예를 들어 일부 장치에는 나침반 센서가 포함되어 있지 않을 수 있지만 앱의 핵심 기능에 나침반 센서를 사용해야 하는 경우 앱은 나침반 센서가 포함되어있지 않을 수 있다. 햅의 핵심 기능에 나침반 센서를 사용해야하는 경우 앱은 나침반 센서가 포함된 장치에만 호환된다.
......
Reference
https://developer.android.com/guide/practices/compatibility?hl=ko
'Android' 카테고리의 다른 글
[안드로이드] 이벤트 이해하기 (0) | 2020.01.04 |
---|---|
[안드로이드] 어떤 색상을 활용하는게 좋을까? (0) | 2019.11.30 |
[안드로이드] "android:transitionName" 속성 위치 따른 변화 (0) | 2019.11.23 |
[안드로이드] 화면전환 (0) | 2019.11.22 |
[안드로이드] 애니메이션2 (0) | 2019.11.20 |