안드로이드/Android-Dev
Android # Linear Layout
Linear Layout 한 방향으로만 뷰를 쌓음. 방향(orientation)이 필수 속성. (horizontal / vertical). 가로(horizontal) : 위젯(widget)이 가로로 쌓인다. 세로(vertical) : 위젯(widget)이 세로로 쌓인다. 뷰 속성값을 잘 확인하자(match_parent/wrap_content)
Android # java file에서 layout 생성
java source 코드로 layout 생성 화면에 보이는 레이아웃 소스 코드와 자바 소스 코드는 서로 분리되어 있어 화면 구성을 바꿀 때 자바 소스 코드는 그대로 두고 레이아웃 소스 코드만 수정하면 된다. 그러나 화면 레이아웃을 미리 만들 수 없는 경우 또는 필요할 때마다 바로바로 레이아웃을 만들어야 하는 경우에는 자바 소스코드에서 화면 레이아웃을 구성해야 할 수도 있다. 예를 들어, 사용자가 입력한 데이터나 파일에서 읽어 들인 데이터 또는 네트워킹을 통해 서버에서 받아온 데이터의 유형에 따라 화면의 구성을 바꾸고 싶다면 XML로 정의하는 것보다 자바 코드에서 화면을 구성하는 것이 훨씬 더 효율적이다. 간단한 예제로 살펴보겠다. [LayoutcodeActivity.java] 1 2 3 4 5 6 7 ..
Android # 상태 드로어블 적용
상태 드로어블 적용해보기 상태 드로어블은 뷰의 상태에 따라 뷰에 보여줄 그래픽을 다르게 지정할 수 있다. 버튼(이미지)을 눌렀을때와, 누르지 않은 상태를 다른 이미지로 보여주게 할 수 있다. finger.drawable.xml을 만들어서 다음과 같이 작성해보자. [app/res/drawable/finger_drawable.xml] Colored by Color Scripter cs 상태 속성이 설정되지 않은 태그에는 drawable 속성값으로 @drawable/finger를 입력했다. 이렇게 하면 finger.png 이미지가 보이게 된다. state_pressed라는 상태 속성이 설정된 태그에는 drawable 속성 값으로 @drawable/finger_pressed를 입력했다. 이 이미지는 뷰가 눌렸을..
Android # drawable 폴더(해상도)
drawable 폴더 - 해상도에 따라 접근하기 해상도 폴더이름 초고해상도 /app/res/drawble-xhdpi 고해상도 /app/res/drawble-hdpi 중간 해상도 /app/res/drawble-mdpi 저해상도 /app/res/drawble-ldpi 안드로이드는 화면의 해상도에 따라 서로 다른 크기(모양)의 이미지를 로딩할 수 있다. /app/res/drawble 폴더에 이미지를 그냥 넣으면 일반적으로 사용되는 이미지로 인식한다. 하지만 /app/res/drawble-hdpi에 넣은 이미지는 고해상도 화면, /app/res/drawble-mdpi에 넣은 이미지는 중간 해상도 화면으로 자동 적용된다. 각각의 폴더는 직접 만들어야 한다. 프로젝트를 처음 만들면 /app/res/drawble 폴..
Android # 크기 표시 단위(px, dp, sp, em)
크기 표시 단위(px, dp, sp, em) 단위 단위표현 설명 px 픽셀 화면 픽샐의 수 dp 밀도 독립적 픽셀(density independent pixel) 160dpi 화면을 기준으로 한 픽셀 sp 축척 독립적 픽셀(scale independent pixel) 텍스트 크기를 지정할 때 사용하는 단위. em 텍스트 크기 글꼴과 상관없이 동일한 텍스트 크기 표시 dp는 해상도에 비례하는 비슷한 크기로 보이게 할 때 사용한다. dp를 사용하면 해상도가 160dpi인 작은 화면에서는 20픽셀이던 버튼 크기를 320dpi인 약간 큰 화면에서는 40픽셀의 크기로 보애게 한다. 따라서, 해상도별로 일일이 크기를 다시 지정핮지 않아도 된다. dp는 뷰의 크기 뿐만 아니라 텍스트의 크기를 지정하는 데도 사용된다...
Android # View 와 View group
View와 View group 뷰(View)의 속성 뷰는 일반적으로 컨트롤이나 위젯으로 불리는 UI 구성 요소. 즉, 사용자의 눈에 보이는 화면의 구성 요소. 뷰를 여러 개 포함하고 있는 것을 뷰그룹(View Group)이라고 하고, 이 뷰그룹 안에서 뷰의 위치를 지정할 수 있음. 뷰그룹은 여러 개의 뷰를 담고 있는 그릇과 같아서 뷰와는 다른 것. 또 다른 뷰그룹을 뷰그룹 안에 넣고 다른 뷰와 동일하게 다루도록 만들 수도 있음. 이 때문에, 뷰그룹은 뷰를 상속하여 뷰그룹도 뷰처럼 다룰 수 있도록 만들어져 있음. 뷰와 뷰그룹의 관계는 여러 가지 디자인 패턴 중에 컴포지트 패턴(Composite Pattern)을 사용하여 만들어짐. 컴포지트 패턴으로 만들어지는 뷰그룹은 뛰어난 확장성을 가짐. 다음은, 대표적..
Android # Hello Project
Android 기본 실습 Button 생성 및 Button을 눌렀을 때, Action 구현하기. 버튼1 : Toast 메시지 띄우기 버튼2 : 웹브라우저 실행 버튼3 : 전화걸기 화면 실행 화면구성 [activity_main.xml] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 Colored by Color Scripter cs [MainActivity.java] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18..