System.out.println("Hello, World");

방향 설정

 - LinearLayout은 차일드 뷰를 일렬로 배치하는 레이아웃이다. XML 문서에 나타나는 순서대로 뷰가 차곡 차곡 배치된다. 별도의 지정이 없는 한 뷰 사이의 공백은 없으며 다닥 다닥 붙어서 배치된다. 가장 단순해 보이지만 직관적이어서 사용 빈도가 높다. 또한 응용의 묘미가 있어서 활용도가 높으며, 리이너 몇개만 조합해도 왠만한 화면 모양은 거의 만들 수 있다.


 리니어의 가장 중요한 속성은 뷰의 배치 방향을 결정하는 orentation이다. 차일드를 일렬로 배치하는 방법은 수평, 수직 두 가지가 있다. vertical은 차일드를 위에서 아래로 수직으로 배열하고, horizontal은 차일드를 왼쪽에서 오른쪽으로 수평배열한다. 이 속성을 별도로 지정하지 않을때는 dafault인 수평으로 적용된다.


 리니어 레이아웃을 적용시키기 위해서는 android:orientatin="horizontal"을 적용시키면 된다.


 만약 텍스트의 속성이에서 android:layout_width="fill_parent"로 지정해놓으면 부모의 폭 전체를 모두 차지해버리기 때문에 나머지 텍스트들은 보이지가 않는다. 그리하여 fill_parent를 android:layout_width="wrap_content"로 바꿔야 한다.


 바꾼후 실행해보면 각 문자열이 자신의 폭만큼만 차지하여 나란히 배열될 것이다. 수평으로 배치할려면 차일드가 꼭 필요한만큼의 폭만 사용해야 한다. 단 화면 폭이 좁아 마지막 문자열은 자동 개행되어 표시된다. 만약 앞쪽 두 문자열이 레이아웃의 폭을 다 써버렸다면 마지막 문자열은 화면 밖으로 밀려나 보이지 않을 것이다.


리니어는 무조건 차일드를 일렬로 배치하기만 할 뿐 자동 개행기능은 제공하지 않는다. 위쪽에서 자동 개행되는 것은 텍스트 뷰의 기능이지 리니어의 기능이 아니다. 


정렬 지정

뷰의 영역이 충분히 크면 상하좌우에 넓은 여백이 생긴다. 하지만 뷰가 커진다고 해서 내용물도 같이 커지는게 아니기 때문에 어느족에 배치할 것인지의 문제가 생긴다. 내용물을 뷰의 어느쪽에 배치할 것인가는 gravity 속성으로 지정한다. 수평, 수직 방향에 대해 정렬 방식을 각각 지정할 수 있으며 | 연산자로 두 개의 속성을 묶어서 지정할 수 있다.





Posted by 김마농

안드로이드 - Button과 EditText


Button

- 사용자가 클릭하여 명령을 내릴수 있는 위젯이며 대부분의 운영체제나 장비에서 아주 흔하게 사용된다. 

  사각형 모양이며 표면에 명령의 의미를 설명하는 문자열이 표시도어 있다. 클래스명이 Button이므로 XML 엘리멘트 이름도 당연히 Button이다. 

  속성은 대부분 View나 TextView로부터 상속받은 것이며 고유의 속성을 따로 가지지 않는다.


EditText

- 문자열을 입력받는 위젯이며 간단히 줄여 에디트라고 부른다. TextView의 서브 클래스이므로 TextView의 모든 속성을 사용할 수 있으며 추가

  문자열 편집과 관련된 메서드가 제공한다.


예제)

<EditText

android:id="@+id/edit"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="여기다 입력"

/>

<Button

android:id="@+id/btn"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="입력 완료"

/>


<후보단어 보여주는 이벤트 처리코드>

Button btn = (Button)findViewById(R.id.버튼의 ID);

btn.setOnClickListener(new Button.OnClickListener(){

public void onClick(View v){

//클릭했을때의 동작 처리

EditText edit=(EditText)findViewById(R.id.edit);

String str = edit.getText().toString();

Toast.makeText(C03_ButtonEdit.this, str, Toast.LENGTH_SHORT).show();

}

});

}

}

}

});



Posted by 김마농

안드로이드 -ImageView


○ src

 - 출력한 이미지를 지정하는 가장 중요한 속성. 이 속성에 값을 대입하지 않으면 아무것도 보이지 않으므로 반드시 지정해야 한다.

ex) android:src="@drawble/파일명" 

    android:src="@drawble/pride"


○ maxHeight, maxWidth

 - 이미지가 출력될 최대 크기를 지정한다. 별다른 지정이 없으면 이미지의 원래 크기대로 출력되지만 모바일 장비의 해상도가 충분치 않으므로 적당히                                                              제한할 필요가 있다.

ex) android:maxHeight="크기", android:maxWidth="크기"

android:maxHeight="70px", android:maxWidth="120px"


○ adjustViewBounds

 - 이미지의 종횡비를 맞추기 위해 이미지 뷰의 크기를 적당히 조정할 것인가를 지정한다. true or false 둘중 하나의 값만 지정가능하므로 하나만 사용해야 한다.

ex) android:adjustViewBounds="true", android:adjustViewBounds="false"


○ cropToPadding

 - true일 경우 위젯의 주어진 여백에 맞추기 위해 이미지의 일부를 잘라낸다. 이 속성을 사용하면 여백을 강제로 유지하므로 이미지 전체가 다 보이지 않을 수도 있다.


○ tint

 - 이미지에 색조를 입힌다. 색상이 이미지 위에 살짝 덮혀 출력된다. 통상 반투명한 색상을 지정하여 이미지 위에 옅은 색상을 뿌리는 효과를 낸다.

ex) android:tint="#80ff000"


○ scaleType

 - 이미지의 원래 크기와 다르게 출력 할 때 적용할 확대, 축소 방식을 지정한다. matrix, fitXY, center, centerCrop, centerInside 등의 여러 가지 방법 중 하나를 지정한다.


예제)

<ImageView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:src="@drawable/pride"

/>


<ImageView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:src="@drawable/pride"

android:maxHeight="70px"

android:maxWidth="120px"

android:adjustViewBounds="true"

/>


<ImageVIew

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:src="@drawable/dog"

android:tint="#80ff0000"

/>


Posted by 김마농