목록분류 전체보기 (389)
만족
invisible은 단순히 화면에만 보이지 않게 한다. 따라서, 보이지 않더라도 해당 뷰는 자리를 차지하게 된다. gone은 아예 액티비티에 그려지지 않게 된다. 따라서, 자리도 차지하지 않는다.
뷰나 레이아웃이 움직이거나, 투명도가 바뀌는 등의 행동을 애니메이션으로 표현하는 방법. res폴더에 anim폴더를 새로 만들고, xml파일을 하나 만든다. set태그 안에 translate, alpha, rotate 등의 태그를 포함하는 형태이다. 위의 xml은 X좌표값이 100%p이고 알파값이 0.5부터 시작해서 X좌표값이 0%p이고 알파값이 1.0으로 1초동안 변화한다. 이제 이 xml을 뷰에 적용하려면, JAVA코드로 넘어간다. Animation toLeft;처럼 Animation 객체를 생성하고 toLeft= AnimationUtils.loadAnimation(this, R.anim.animation_toleft);처럼 AnimationUtils.loadAnimation 메소드를 이용하여 해당 애..
getActionBar().setDisplayShowTitleEnabled(false);을 사용하거나 getActionBar()가 NullPointerException을 발생시킨다면 getSupportActionBar().setDisplayShowTitleEnabled(false); getSupportActionBar().hide();을 대신 사용한다. 또는 코드 대신 Style을 변경하는 방법도 있다. value/style.xml로 들어가서 를 처럼 바꾸면 된다.(parent의 속성값을 ...DarkActionBar에서 ...NoActionBar로 바꾼다.) 참조: https://stackoverflow.com/questions/7655874/how-do-you-remove-the-title-text-..
때때로 우리는 뷰의 상태에 따라서, 뷰의 속성값을 바꾸어 줄 필요가 있다. 예를 들어서, EditText태그가 클릭 되었을 때, 배경을 바꾸어주는 등의 행동을 통하여, 그 태그의 상태를 표시하는데 도움을 줄 수 있다. Selector Tag xml에서 사용되는 태그의 하나이다. Selector Tag는 하나 이상의 item 태그를 사용하며, 이 item태그의 속성에 해당 뷰의 상태를 명시함으로써어떤 상태일 때, 어떤 동작을 할 지 결정할 수 있게 된다. 예시) 해당 태그가 포커스를 가질 때는 Primary(푸른색 계열)로, 가지지 못했을 때에는 Accent(분홍색 계열)로 상태에 따라서 속성값을 바꾸어 줄 수 있다. 이제 이 xml파일을 어떤 태그의 background속성으로 설정해준다면, focusin..
Focusable이 true로 되어 있는 뷰가 사용자와 Interaction하기 시작할 때, 그 뷰는 Focus를 가졌다 라고 한다. 대표적 예로는 EditText가 있으며, EditText를 누르면 키보드가 보여지면서 EditText와 상호작용할 수 있게 되는데, 이 때 EditText는 Focus를 갖게 된다. Focus를 갖기 위해, Focusable의 속성이 true이어야 하는데, EditText의 경우 별도의 작업이 필요 없이 true를 값으로 갖지만TextView와 같은 태그들은 임의로 속성값을 바꾸어 주어야 한다. Focusable 속성값 변경하기 1. xml에서 변경하기 해당 태그에 android:focusable="true"android:focusableInTouchMode="true"..
우리가 컴퓨터에서 JAVA를 이용하여 GUI를 개발할 때, 어떤 요소가 눌리거나 (ex 버튼) 키보드가 눌릴 때해당 동작을 인식하여, 특정 동작을 하게 만들 수 있었다. 안드로이드에서도 마찬가지로 특정 동작을 인식할 수 있는데,안드로이드에서는 키보드나 마우스를 사용하지 않고, 터치패널이나 버튼을 이용하여 장치에 입력신호를 보내게 된다. PC에서와 달리 안드로이드는, MouseListener와 KeyboardListener대신, TouchListener와 KeyListener를 이용한다. EventListener in Android Studio OnTouchListener //특정 뷰가 터치되는 동작을 인식OnKeyLIstener //특정 물리키가 눌리는 동작을 인식(ex 볼륨 업)OnClickListen..
Fragment에 관한 변경 사항을 commit()할 때마다 beginTransaction()으로 FragmentTransaction을 새로 만들어 주어야 한다 참조: http://stackoverflow.com/questions/24561874/android-fragmenttransaction-commit-already-called
프래그먼트(Fragment)란? 액티비티와 유사한 구조를 띄고 있으며, 액티비티 위에 붙여 사용하여 하나의 액티비티에 여러개의 프래그먼트를 붙임으로써, 동시에 여러 개의 화면을 보여줄 수 있다.(하나의 액티비티에 조각(Fragment)들을 붙여 사용한다) 왜 사용하는가? 하나의 액티비티에 여러 가지 xml을 불러올 수 있으며 또한 Activity 각각 intent로 만들어 시작하는 것 보다, 하나의 Activity위에 Fragment를 교체해 가며 띄우는 것이 속도 측면에서 훨씬 빠르기 때문이다. 사용법 예를 들면 아래와 같은 어떤 layout.xml에서, fragment를 추가하고 싶다면 태그를 사용한다. (첫 글자가 소문자임에 유의한다) 단, fragment는 일반적으로 FrameLayout 안에 위..