본문 바로가기

WebView에서 동영상 재생시 전체화면모드에서 발생하는 오류 해결법 안드로이드 4.0 이후에서는 WebView에서 유튜브나 플래시 동영상의 전체화면 모드 사용시 NullPointerException이 발생합니다. 이를 해결하기 위해서는 WebView에 WebChromeClient 를 설정해주어야 합니다. 하지만 단순히 기본 WebChromeClient 객체를 생성하여 WebView에 설정할 경우 오류는 발생하지 않지만 영상이 정상적으로 재생이 안되는 문제가 있습니다. 전체화면 모드가 제대로 작동되게 하려면 아래와 같이 WebChromeClient 클래스를 상속받은 클래스를 만든 후 이를 WebView에 설정하면 됩니다. public class FullscreenableChromeClient extends WebChromeClient { protected Activity .. 더보기
안드로이드 레이아웃 작업 시 기본 룰 안드로이드 기기는 다양한 해상도를 가지고 있기 때문에 안드로이드 앱 개발에 있어 해상도에 따른 레이아웃 구현은 상당히 까다로운 문제인데요, 여러 해상도에 대응하기 위해 레이아웃 작업 시 아래와 같은 기본 룰을 지켜는 것이 좋다고 하네요. 1. 레이아웃 디자인시에는 HVGA 기본 스크린 사이즈를 중심으로 DIP 단위만을 사용해서 디자인합니다. px과 dip가 1:1 이라서 화면 크기에 대응하여 사이즈 결정하기가 좋습니다. 320 * 480 화면 기준으로 들어갈 이미지나 UI 요소들 각각의 가로 사이즈를 px로 계산한 후 코딩시에는 그 값의 단위를 dip 로만 입력하 면 됩니다 . 2. AbsoluteLayout 을 사용하지 않습니다. 즉 , 화면의 절대 좌표 보다는 상대 좌표를 사용해야 합니다. 이거 사용.. 더보기
해상도에 따른 레이아웃 폴더와, 이미지 폴더 분기 해상도에 따라 참고할 Layout, Drawable 폴더를 다르게 하기 위해서는 res 폴더내에 아래와 같은 이름으로 폴더를 생성하시면 됩니다. drawable-1280x720 layout-1280x720 위와 같은 폴더를 res 폴더에 생성했을 경우 해상도가 1280x720인 폰에서는 위의 폴더에 있는 layout xml파일과 이미지 파일을 참고하여 화면을 구현하게 됩니다. 출처 : 안드로이드펍, 보리 & 마고 블로그 더보기