안드로이드/레이아웃(Layout): 16개의 글
1. setContentView() 함수의 역할 ▼ 여기 화면 구성을 위한 XML 레이아웃 리소스가 있습니다. 해당 XML은 화면에 배치되는 View와 ViewGroup에 대한 속성과 상하 배치관계 등과 같이 화면에 배치되기 위한 여러 정보가 담겨있습니다. 해당 XML 파일은 단순한 디자인 정보로 실제로 이 정보를 가지고 화면을 보여주기 위해서는 XML에 정의된 각 위젯들을 정의된 속성을 지정하고 상하관계에 맞춘 뒤 메모리에 올려야 합니다. 이러한 일련의 작업을 소스상에서 제공하는 게 setContentView() 함수입니다. public class MainActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceSt..
안드로이드 에디트텍스트(EditText)는 TextView로부터 파생된 클래스로 TextView는 단순히 Text를 보여주는 역할을 한다면 EditText는 Text를 입력 및 수정까지 가능한 뷰(View) 위젯입니다. 1. EditText 기본 사용법 EditText를 화면에 배치하는 방법은 간단합니다. 레이아웃 리소스 XML에서 사이에 EditText의 속성을 정의하면 됩니다. ▼ App을 실행하면 EditText가 화면에 배치된 것을 확인할 수 있습니다. Layout 리소스 xml에서 EditText의 Text 속성값을 "Sample EditText"로 지정하였기 때문에 초기 App 실행 시점의 Text영역에는 "Sample EditText"가 나타납니다. EditText를 클릭하면 Text 입력기..
GridLayout은 2차원 격자무늬 형태의 레이아웃으로 행과 열의 집합형태로 구성된 레이아웃입니다. TableLayout의 단점을 보완한 레이아웃으로 LinearLayout 또는 FrameLayout과 같은 다른 레이아웃의 장점을 포함하는 레이아웃입니다. GridLayout을 사용할 시 다른 레이아웃과 중첩으로 사용할 필요가 없어 메모리 사용량을 줄일 수 있다는 장점이 있습니다. 1. GridLayout 속성 - orientation / rowCount / columnCount 속성 설명 orientation 자식 뷰(View)들이 GridLayout의 각 셀 영역에 배치되는 방향을 결정합니다. orientation = "horizontal" : 수평방향으로 뷰(View)를 정렬합니다. orientat..
이번 포스팅은 LinearLayout과 RelativeLayout에 이어 FrameLayout에 대해 알아보겠습니다. FrameLayout은 여러 개의 뷰를 중첩으로 배치하고 그중 하나를 레이아웃의 전면에 표시할 때 사용하는 레이아웃입니다. ▼ FrameLayout의 Frame의 '액자'를 의미합니다. '액자'를 FrameLayout과 연관지어 생각해본다면 FrameLayout의 배치기능을 이해하는 데 도움이 됩니다. 액자에 여러 장의 같은 크기의 사진을 끼워 넣는다고 가정을 하였을 때 먼저 들어간 사진의 경우는 나중에 들어간 사진에 의해서 가려져서 보이지 않습니다. 마찬가지로 FrameLayout과 연결시켜 생각해보면 FrameLayout에 여러개의 같은 크기를 가지는 뷰(View)를 배치하였을 때 가..
RelativeLayout은 자식 뷰 또는 부모 뷰 간의 관계에 따라 배치를 적용하는 레이아웃입니다. 1. RelativeLayout의 기본속성 - gravity 속성과 ignoregravity 속성 속성 설명 gravity RelativeLayout의 자식 뷰들의 중력방향을 결정합니다. ignoregravity gravity 설정 상태에서 특정 자식 뷰에 대해 gravity 속성을 무시합니다. ▼ RelativeLayout을 최상단에 배치하고 그 아래 Button 뷰 2개를 배치하였습니다. RelativeLayout 의 속성 gravity를 "bottom"으로 지정하였기 때문에 하위 뷰들은 하단에 배치가 되야합니다. 다만 ignoreGravity 속성의 속성값으로 id 속성값이 button1인 뷰를 지..
안드로이드(Android) 앱을 개발하기 위해서는 반드시 화면이 필요합니다. 그리고 화면에 보이는 구성 요소들은 모두 뷰(View)라고 부릅니다. 우리가 흔히 보는 Button, TextBox, Image 등은 모두 뷰(View)이며 이러한 구성요소들이 모여 하나의 화면을 이루게 됩니다. 그렇다면 뷰(View)는 화면 어디 간에 배치가 되어야 하는데 뷰(View) 자체로는 자신이 어디에 배치되어야 하는지에 대한 정보를 가지고 있지 않습니다. 따라서 뷰(View)를 화면에 배치할 수 있는 무언가가 필요하며 그 역할을 하는것이 뷰 그룹(View Group) 또는 뷰 컨테이너(View Container)입니다. View Group은 연관된 여러 개의 View를 포함할 수 있으며 1개의 View는 반드시 하나의..
* 실습 - 애니메이션 효과를 이용하여 페이지 슬라이딩 1. 애니메이션을 위한 디렉토리와 파일 생성 - /res/anim 디렉토리 생성 - Animation Resource File 생성 2. 애니메이션이 정의되는 XML 파일 작성 (1) pull_in_left.xml (2) pull_in_right.xml (3) push_out_left.xml (4) push_out_right.xml 3. 기존 액티비티에서 새로운 액티비티 시작(IntentDemo.java, IntentDemo2.java): startActivity() 호출 후, overridePendingTransition(incoming 액티비티, outgoing 액티비티) 메소드 추가package com.example.chae.finaltest;..
* 타임피커(Timepicker) - 시간 선택 위젯 실습1 - timepicker를 이용해 설정된 시각 출력 1) activity_timepicker.xml 2) TimePickerDemo.java public class TimePickerDemo extends AppCompatActivity implements TimePicker.OnTimeChangedListener{ TextView tv; TimePicker tp; Calendar c; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_timepicker); c ..
문제점 xml에서 개행(엔터)을 넣어주고 싶을 경우. 해결방안개행할 곳에 \n을 넣어준다. ?123 개행하기\n 두번째 줄
해외 가이드 사이트는 다음과 같다. ▶유튜브 동영상 설명(영어) : http://www.youtube.com/watch?v=zzh1LcWbefQ ▶영어 설명 사이트 : http://support.andromo.com/kb/application-settings/action-bar-style-generator 이걸 이용하면 정말 쉽게 안드로이드 액션바의 색상을 변경할 수 있다.http://jgilfelt.github.io/android-actionbarstylegenerator/ 이곳에 접속한다. 이런 페이지가 나오고, 각자 원하는 색상을 선택하고 아래의 Download를 눌러서 Zip파일을 받는다.이 때 AppCompat 테마에서 사용하고자 할 때, 에러가 나오면appcompat_v7라이브러리를 Prope..