테이블 레이아웃은 표나 엑셀 시트와 같이 '테이블'형태로 화면을 구성하는 레이아웃이다. 테이블은 기본적으로 열과 행으로 이루어져있는데, 테이블 레이아웃 또한 열과 행으로 레이아웃을 구성한다. Table Layout은 기본적으로 TableRow라는 태그가 여러개 들어가 한 행을 구성한다.TableRow안에는 뷰들이 들어가고, 이 뷷르은 각각 하나의 열이 된다.그리고 TableRow마다 추가된 뷰의 개수가 열의 개수가 된다. 우선 LinearLayout안에 TableLayout을 넣어준다. TableLayout은 Palette의 Layouts에 있다. 하나의 특징을 더 살펴보면, TableLayout안에 TableRow가 디폴트로 4개 생성되는것을 볼 수 있다. TableRow를 추가하면 기본적으로 layo..
Android
레이아웃에 뷰를 추가하면, 기본적으로 뷰는 나머지 공간을 모두 채울수도, 위치를 지정할 수 도 있다. 하지만 여유공간을 모두 채우면, 뷰가 서로 달라붙거나, 텍스트가 꽉차보여 구성이 이상해질 수 도 있다. 뷰는 바깥공간과 안쪽 공간이 있고, 일반적으로 모든 공간을 포함한 부분을 셀 이라고 한다. 일반적으로 버튼, 텍스트뷰를 위젯이라고 부르기 때문에, 위젯 셀이라고도 한다. 뷰의 바깥쪽 공간을 Margin이라고 하고, lay_out_margin속성으로 간격을 지정할 수 있다. 테두리 안쪽을 Padding이라고 부르며, padding속성을 이용해서 설정할 수 있다. 아래와 같이 TextView세개를 만들고 Padding을 실험해 보자. 디폴트를 보면, layout_width가 wrap_content로 되어있..
리니어 레이아웃 안에 들어있는 뷰는 왼쪽 가운데, 오른쪽 등 방향을 지정해 정렬할 수 있다. CSS에서는 align이라는 속성으로 정렬을 하였지만 안드로이드에서는 'gravity'라는 속성으로 정렬을 한다. 레이아웃 정렬기능에는 아래 두가지가 있다. 정렬 속성 설명 layout_gravity 부모의 여유 공간에 뷰가 모두 채워지지 않아 여유공간이 생겼을 때 여유공간 안에서 뷰를 정렬한다 gravity 뷰 안에 표시하는 내용물(content)를 정렬한다. layout_gravity 우선적으로 layout_gravity속성은 layout_width, layout_height 속성을 wrap_content(컨텐츠를 감싸는것을 의미) 로 만든 후 에 사용할 수 있다. 그 이유는 match_parent를 사용하면..
XML을 이용해서 레이아웃 위에 뷰를 만들 수 있다. 반대로 소스코드를 통해서 레이아웃에 뷰를 추가할 수 도 있다. 우선 기본적으로 MainActivity.java를 살펴보자 package com.example.androidexcersice; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_m..
버튼 추가하기 간단하게 버튼을 추가해 보자. 버튼은 activity_main.xml 화면 좌측에 있는 Palette에 위치해있다. 드래그 해서 배치하고 싶은 곳에 배치를 한다. 버튼의 속성 변경은 오른쪽 Attribute에서 할 수 있으며, 버튼의 글은 text로 변경할 수 있고, 이벤트 등록은 onClick속성에 추가할 수 있다. 이벤트 처리 함수는 자바파일로 정의해준다. Toast를 사용해 메세지 띄우기 간단한 메세지를 띄워보자 Toast를 사용하면 화면에 잠시 보였다 없어지는 메세지를 구현할 수 있다. public void onButtonClick(View v){ // Toast.LENGTH_SHORT : 화면에 보여지는 시간이 2초이다 // Toast.LENGTH_LONG : 화면에 보여지는 시간..