뷰를 숨기거나, 보여주거나 해서 어떤 동적인 움직임을 더욱 표현할 수 있다.


버튼을 눌렀을 때, 토글이 이뤄진다거나...


1. VISIBLE

2. INVISIBLE

3. GONE


1번은 당연히 보여주는 것이므로 쓰든. 말든 숨김 동작을 하지 않을것이라면 안써도 된다.


2,3 번의 차이는 무엇인가?


테스트를 해봤다. 다음 이미지를 보면 한눈에 알 수 있다.

하단에 레이아웃을 잘 보도록 ...


1. VISIBLE

첫 번째 이미지는 텍스트뷰 HaHa가 출력되었다. 그냥 단지 보여주는 것이다.


2. INVISIBLE

두 번째 이미지는 1번 VISIBLE과 별 차이 없다. 하지만, 뷰는 안보이게 설정하여 보이지 않는다.

하지만, 1번과 마찮가지로 동일한 위치에 존재한다.


                                


3. GONE

세 번째 이미지는 2번 비슷하게 뷰가 사라져서 내용물을 보여주지 않는다.

또한, 자리를 차지하지 않고 아예 사라져버려 있는지 없는지 알 수 없다.

INVISIBLE과 차이점은 


INVISIBLE : 뷰는 감춰지지만, 해당 뷰의 위치는 차치하고 있는다.

GONE : 뷰도 감춰지고, 해당 뷰의 위치 역시 차지하지 않는다.



이상으로 VISIBLE과 INVISIBLE 그리고 GONE의 차이점을 알아봤다.


Bye~


Posted by sungho88
,

이클립스와 매우 다른 단축키때문에 조금 불편하다.

일단, 내가 알게 된 단축키를 여기에 정리해보려 한다.


Ctrl + Alt + L

코드 자동 정렬. 가장 많이 쓰는 것일듯...


Shift + F10

프로젝트 실행하는 단축키


Ctrl+Q

클래스/메소드 설명보기


Shift + / 

한 줄 주석


Ctrl + Shift + / 

블록 단위 주석 


Ctrl + Y

안드로이드 스튜디오에서는 한 줄 삭제


Ctrl + D 

한 줄 복사


Ctrl + F4

창 닫기(종료) Ctrl + W가 아니다.


Alt + 방향키 

메소드 단위로 커서 이동


Alt + Enter 

에러 또는 오류가 발생 시에 이 단축키를 누르면, 어떤 해결책을 할지를 제시해준다.


Ctrl + B 또는 Ctrl + 마우스 왼쪽 클릭

선언된 함수, 변수 등의 라인으로 커서를 이동해서 쉽게 파악할 수 있다.


Ctrl + Shift + Enter

private void star() 후 단축키 입력시, 자동으로 괄호 한 쌍이 생성됨.


Ctrl + p

메소드 작성 시, 괄호 안에서 입력하면, 그 메소드에서 받을 수 있는 매개변수들의 타입을 보여줌.

 

Ctrl + Shift + F 

프로젝트 단위로 문자열 검색하기


Logcat 띄우기

Alt + 6


아무이유 없이 안될때. : 무슨 에러인지 말 안 할때.

Build - Clean Project


Shift + F1 -> 안드로이드 공식 사이트 DOC 문서로 이동하여 해당 메소드,클래스 설명

'Android > Android Studio' 카테고리의 다른 글

안드로이드 스튜디오 새 프로젝트 만들기  (1) 2017.12.11
Posted by sungho88
,

전역 변수 & 전역 객체

- 프로그램 전체에서 사용할 수 있는 변수 또는 객체를 의미함.


전역 변수

1. __filename : 현재 실행 중인 파일의 이름을 보여주는 변수

2. __dirname : 현재 실행 중인 파일의 경로를 보여주는 변수


전역 객체

1. console : 콘솔 화면과 관련된 기능을 다루는 객체

2. exports : 모듈과 관련된 기능을 다루는 객체

3. process : 프로그램과 관련된 기능을 다루는 객체



1) console 객체

1. log() : 콘솔 화면에 출력

2. time() : 시간 측정을 시작

3. timeout() : 시간 측정을 종료


log()에서 사용할 수 있는 특수 문자 : %d(숫자) %s(문자) %j(JSON)


console.log(%d + %d = %d, 4, 5, 6); 과 같이 사용


특수 문자 개수 > 매개변수의 개수라면, Ex) console.log(%d + %d + %d = %d, 4, 5, 6);

결과적으로 남는 %d는 그냥 문자로 출력 (결과 : 4 + 5 + 6 = %d)


특수 문자 개수 < 매개변수의 개수라면, Ex) console.log(%d = %d, 4, 5, 6);

결과적으로 남는 매개변수는 그냥 출력(4 = 5 6)


time() 함수와  timeout()함수는 프로그램 실행 시간을 출력할 때 사용 매개변수로 타이머를 식별.

Ex) time('programTime')  .... timeout('programTime');

이렇게 하면 time()메소드를 호출 후 timeout() 메소드가 호출되기 전까지 ...과정의 시간을 계산.


2) process객체

- 프로그램과 관련된 정보를 나타냄(컴퓨터 환경, 노드의 설치 버전, OS, 플랫폼, 등등)

- 자바스크립트엔 존재하지 않는 Node.js만의 객체


3) exports객체

- 먼저 모듈이란 기능을 쉽게 사용하고자 메소드와 속성을 미리 정의하여 모아놓은 것이다.

- Node.js는 결국 모듈들을 활용해 기능을 확장하여 프로젝트를 만들어 나아가는 것이라 할 수 있다.

- 모듈은 보통 코딩 외부에서 별도의 js파일을 생성하여 사용한다.

- 이 모듈을 생성할 때 exports 객체를 사용한다.  exports 객체에 속성이나 메소드를 지정한다.

- 이 모듈을 사용할때는 require() 함수를 사용한다.


Posted by sungho88
,