본문 바로가기

안드로이드44

안드로이드스튜디오: 에뮬레이터 생성 및 실행 방법(AVD Manager) # 안드로이드 에뮬레이터(가상장치) 생성 방법 1. AVD Manager 실행 2. "Create Virtual Device" 클릭 3. 기기 선택 4. OS 선택 5. 생성 완료 자세한 방법은 아래와 같다. 1. AVD Manager 실행 - Tools > AVD Manager 를 실행한다. - 혹은, Run 버튼 옆의 콤보박스에서 AVD Manager를 선택해도 된다. * 참고로 AVD 는 Android Virtual Device 의 약자다. 2. Create Virtual Device - 화면에서 "Create Virtual Device" 버튼을 찾아서 클릭한다 3. 기기 선택 1) 기기 유형(Phone / Tablet 등)을 선택하고, 2) 기기 종류(Nexus 등)을 선택하고, 3) Next 클.. 2021. 8. 10.
[안드로이드] Button의 background 설정 및 커스텀 drawable(selector 등) 적용 불가 해결 방법 안드로이드 개발시, 버전에 따라 Button의 backgorund 설정이 안되는 경우가 있다. 일반적인 배경 색상 설정은 background대신 backgroundTint 속성을 사용하면 된다. 하지만!!! drawable에 selector 등을 적용하는 커스텀 버튼은 background는 물론 backgroundTint로도 작동하지 않는 경우가 있다. # Button에 background 설정이 불가능한 이유 구글링을 해보니 문제의 원인은 다음과 같다고 한다. 특정 버전의 안드로이드 스튜디오는 프로젝트 생성시, 1. Theme.MaterialComponents.DayNight.DarkActionBar를 디폴트 테마로 설정한다. 2. 해당 테마에서 Button을 만들면 MaterialButton으로 생성.. 2021. 8. 4.
[안드로이드] 커스텀 버튼 체크/선택/포커스 상태별 구분 적용 방법: selector, shape 안드로이드의 selector를 사용하면, 뷰(View)의 상태에 따라 다른 배경색/테두리/이미지 등을 적용할 수 있다. 위의 예제처럼 Button을 눌렀을 때와 땠을 때 다른 배경색/테두리를 적용하기 위해선 아래의 2개 파일만 작업해주면 된다. - selector_button.xml 파일 : Button을 눌렀을 때와 땠을 때 적용할 셰이프(shape)의 면(solid)과 선(stroke)를 다르게 설정 - activity_main.xml 파일 : Button의 background 속성에 selector_button.xml을 적용 이걸로 끝이다. 자세한 사용방법은 아래와 같다. # selector 사용 방법 1. selctor XML 파일 생성 - res > drawable 폴더에 XML파일을 생성한다... 2021. 8. 3.
[안드로이드] 버튼 selector 일부 테두리 적용 설정 방법: layer-list selector를 통해 커스텀 라디오 버튼 등을 만들 때, 아래처럼 테두리의 일부만 표시하고 싶을 때가 있다. layer-list를 이용하면 되는데, 문제는 selector태그와 layer-list 태그를 함께 사용하면 원하는 결과가 안 나올 수 있다는 점이다. 해결방법은 1. layer-list 파일, selector 파일을 따로 만들고, 2. selector파일의 item태그 andorid:drawable 속성값에 layer-list 파일을 설정해주는 것이다. 하나씩 해보자. 아래 예제는 위아래 테두리만 있는 커스텀 라디오 버튼을 만드는 것이지만, 좌우 테두리만 설정할 수도 있고, 다른 타입의 버튼에도 각자의 상황에 맞게 응용하면 된다. # 커스텀 라디오버튼의 테두리 일부만 설정하기 1. layer-.. 2021. 8. 3.
[안드로이드] 커스텀 RadioButton 만드는 방법(배경, 테두리, 이미지 적용) # 안드로이드 커스텀 RadioButton 만드는 방법 1. RadioButton 생성: 레이아웃.XML파일에 RadioButton 생성 2. selector 생성/적용: 버튼이 체크되어있을 때와 해제되었을 때 버튼의 색/테두리/글자색/이미지 설정 아래에서 정리하는 딱 3개의 파일 작업만 해주면, 이런 커스텀 라디오 버튼을 만들 수 있다. 1. selector 생성 - res > drawable 파일에 아래의 2개의 selector 파일을 생성한다. (혹시 selector 파일 생성 방법을 모르는 분들을 위해, 글 맨 밑에 방법을 설명해두었다) 1) selector_radio_button.xml: 라디오버튼의 배경색, 테두리를 설정할 selector 파일 - 라디오버튼이 체크되었을 때(state_chec.. 2021. 8. 2.
[안드로이드] strings.xml 텍스트 줄바꿈(개행 처리), 공백 추가 방법: TextView 안드로이드 개발 시, 뷰(TextView)에 하드코딩으로 텍스트를 적거나, setText()로 텍스트 설정 시, 혹은 strings.xml에 작성해둔 텍스트를 불러와 사용할 때, 줄바꿈(개행 처리) 및 공백(여백) 추가하는 방법을 정리한다. # 줄바꿈(개행처리) 방법 1. \n 삽입 줄바꿈전 \n 줄바꿈후 2. 따옴표(" ") 내부에서 Enter (혹은 \n) "줄바꿈전 줄바꿈후 \n 줄바꿈추가" # 공백 추가 방법 1. 추가 - 공백을 여러 개 추가하려면, 을 여러 번 써준다. (세미콜론까지 모두 적어주자.) 공백시작 공백끝 2. 따옴표(" ") 내부에서 Space (혹은 ) "공백시작 공백끝 공백추가" # 주의 사항 단, strings.xml에 적용시, 안드로이드 스튜디오 디자인 모드에서는 줄바꿈/공.. 2021. 8. 1.
[안드로이드] Canvas: trying to draw too large bitmap. 런타임 에러 해결 방법 ImageView와 관련하여 아래와 같은 런타임 오류가 발생할 때가 있다. java.lang.RuntimeException: Canvas: trying to draw too large(110250000bytes) bitmap. 로그에서 설명해주듯이 발생 원인은 이미지가 너무 커서 앱이 구동된 환경의 캔버스에서 못 그리겠다는 것이다. 해결 방법은 4가지다. 1. 이미지 사이즈를 줄여서 교체한다. - 본인은 가급적 이 방법을 사용한다. - 특별한 상황이 아니라면 앱 용량도 줄어들고 효율적이기 때문에 이미지 크기를 줄이는 방법을 추천한다. 2. 고해상도 전용 drawable-xxhdpi 혹은 drawable-xxxhdpi 폴더로 이미지를 옮긴다. - 기본 drawable 폴더는 mdpi 해상도의 이미지를 보관.. 2021. 7. 31.
[안드로이드] ImageView가 높이 전체를 차지할 때 비율 조정 방법: adjustViewBounds 안드로이드를 개발하다보면 이런 상황을 맞을 수 있다. ImageView를 배치하고, width, margin 등을 설정해서 이미지 크기를 조절 하는데 세로 높이가 자꾸 전체 화면을 차지하며 비율이 맞지 않는 상황이다. 가로(너비) 크기를 줄일 때 세로(높이)도 비율에 맞게 줄어들길 원한다면 adjustViewBounds 속성을 true로 설정하면된다. android:adjustViewBounds="true" 디자인 모드에서도 설정할 수 있다. adjustViewBounds 를 true로 설정하면 ImageView의 높이가 정상적인 비율로 축소된 것을 확인할 수 있다. 레이아웃 XML 전문은 아래와 같다. # android:adjustViewBounds 속성이란? - 이미지의 비율을 유지하면서 크기를 조정.. 2021. 7. 31.
[안드로이드] Admob 광고단위(배너 등) 추가 생성/수정/삭제 방법 이 글은 Admob 가입 후 앱을 등록한 다음 배너광고 등의 "광고 단위"를 추가하는 방법을 정리한다. Admob에 앱을 등록하는 방법은 아래 글 참고 [안드로이드] Admob 앱 추가 등록 및 설정 방법 # Admob 광고 단위 추가 방법 1. 앱 선택 - 광고단위를 추가할 앱을 선택한다. 2. 광고단위 추가 - 광고단위 메뉴에서 "광고단위추가" 버튼을 클릭 3. 광고형식 선택 - 배너, 전면, 앱열기 등 다양한 광고가 있다. 원하는걸 선택하면 된다. 4. 광고단위 설정 - 광고단위의 이름을 적어준다.(나중에 수정할 수 있다.) - 단, 생성된 광고단위는 나중에 삭제도 가능하다. 5. 완료 - 광고 단위 생성이 완료되었다. - 앱 ID와 광고단위ID를 확인할 수 있다(나중에 다시 확인할 수 있다) # .. 2021. 7. 24.