안드로이드 (47) 썸네일형 리스트형 [Android] findViewById가 귀찮을 때 Android 개발을 하다보면 각각의 뷰에 id를 붙이고 findViewById를 통해 뷰를 찾는게 귀찮을 때가 많습니다. 그럴 땐 Android에서 제공하는 라이브러리 DataBinding을 사용하면 편해집니다. https://developer.android.com/topic/libraries/data-binding 데이터 결합 라이브러리 | Android 개발자 | Android Developers 데이터 결합 라이브러리 Android Jetpack의 구성요소 데이터 결합 라이브러리는 프로그래매틱 방식이 아니라 선언적 형식으로 레이아웃의 UI 구성요소를 앱의 데이터 소스와 결합할 수 있는 지원 라이브러리입니다. 레이아웃은 흔히 UI 프레임워크 메서드를 호출하는 코드가 포함된 활동에서 정의됩니다. 예를.. [Android] View의 getLeft, getTop, getRight, getBottom 메서드 부모를 기준으로 한 값들이다. 이 값들은 view.layout(int l,int t,int r,int b)가 불렸을 때 설정된다. +추가내용) getWidth는 mRight-mLeft를 반환, getHeight는 mBottom-mTop을 반환한다 [Android] 앱 Background로 보내기 https://ohdbjj.tistory.com/6 [Android] Activity Stack, Task 확인하기 Android 개발을 하면서 StartActivity를 여러 번 하다보면 Activity들이 생각한 대로 쌓였는지 확인해야 할 때가 생길 수 있습니다. 저는 launchMode랑 Intent Flag들을 공부하면서 사용해 보던 중 Activity Stack.. ohdbjj.tistory.com YouTube, Facebook 등 다양한 앱들의 Activity Stack을 확인하던 중 Chrome 앱이 Back키를 눌러 앱을 종료했을 때도 Background에 살아있더군요. 신기하여 관련 코드를 찾아보았습니다. @Override public void onBackPressed() { /* 둘 .. [Android] onMeasure 함수의 인자들 CustomView에서 onMeasure 사용.. onMeasure 함수는 View의 크기 계산하는 함수라 할 수 있을거 같습니다. 함수 내에서 setMeasuredDimension(width, height)를 호출하면서 정확한(계산된) 크기를 정하게 되죠. ... @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { final int widthMode = MeasureSpec.getMode(widthMeasureSpec); final int widthSize = MeasureSpec.getSize(widthMeasureSpec); final int heightMode = MeasureSpec.getMode(he.. [Android] EditText가 아닌 다른 곳 클릭시 키보드 내리기 public class MainActivity extends AppCompatActivity { ... @Override public boolean dispatchTouchEvent(MotionEvent ev) { View focusView = getCurrentFocus(); if (focusView != null) { Rect rect = new Rect(); focusView.getGlobalVisibleRect(rect); int x = (int) ev.getX(), y = (int) ev.getY(); if (!rect.contains(x, y)) { InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVI.. [Android] Translate Animation과 클릭 이벤트 Translate Animation이 적용된 View의 Click 이벤트 발생 위치가 생각과 달라 포스팅을 합니다. anim/anim_right.xml layout/activity_main.xml ... ... MainActivity.java public class MainActivity extends AppCompatActivity { private ImageView mImg; private Animation rightAnim; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mImg = findViewB.. [Android] Ripple Effect (눌렀을 때 변하는 Background) 클릭 효과 안드로이드 앱을 사용하다 보면 다음과 같은 터치 효과를 자주 볼 수 있습니다 눌린 곳부터 시작해 퍼지면서 색이 변합니다. 깔끔한 효과와 함께 눌렀다는 느낌을 줍니다. 이와 같은 효과를 Ripple Effect라 하며 Android에서 XML을 통해 사용하는 방법을 알려드리겠습니다(SDK 21 이상에서 가능). 1. 경계가 없는 리플(Unbounded Ripple) View의 크기를 벗어나 Ripple 효과가 생깁니다. YouTube에서는 Background Color가 없는 ImageButton들에 사용됩니다. drawable/ripple_unbounded.xml layout/activity_main.xml ... ... 점선으로 표시된 부분이 View의 크기입니다. 크기를 벗어나 Ripple.. 이전 1 ··· 3 4 5 6 다음