본문 바로가기

안드로이드 자바511

[Java][Android] VelocityTracker을 사용한 드래그 속도에 따른 동작 변화 https://developer.android.com/reference/android/view/VelocityTracker?_gl=1*wd3jpp*_up*MQ..*_ga*NDY2NzAyMTYwLjE3MzU1MjUxNTk.*_ga_6HH9YJMN9M*MTczNTUyNTE1OS4xLjAuMTczNTUyNTE1OS4wLjAuNTYxMTY4OTM1 VelocityTracker  |  Android Developers developer.android.com 안드로이드 개발자 공식문서 VelocityTracker 내용 모션 이벤트의 속도를 추적하고 플링과 같은 다른 제스처를 구현하기 위한 도우미입니다. obtain()추적을 시작할 때 클래스의 새 인스턴스를 검색하는 데 사용합니다. 수신한 모션 이벤트를 . 로 넣습.. 2024. 12. 30.
[Java][Android] DragEventListener를 사용해 드래그 앤 드롭 구현하기 안녕하세요이번에는 DragEvenetListener 를 사용해서 간단한 드래그 앤 드롭 기능을 구현해보도록 하겠습니다.이 방법은 개별 View 간 데이터를 이동하거나, UI 요소 재배치를 구현할 때 사용할 수 있습니다. 우선 전체 코드입니다. activity_main.xml  MainActivity.javapublic class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView tvDragSour.. 2024. 12. 26.
[Java][Android] TransitionManager로 뷰 크기와 투명도 애니메이션 구현하기 안녕하세요,오늘은 TransitionManager를 활용하여 뷰 크기와 투명도 애니메이션을 구현하는 예제를 만들어 보도록 하겠습니다.  TransitionManager는 안드로이드에서 레이아웃 변경 시 부드러운 애니메이션 효과를 제공하는 클래스입니다. 일반적으로 뷰의 크기, 위치, 가시성 변화에 자연스러운 전환 효과를 추가하기 위해 사용됩니다. MainActivity.java public class MainActivity extends AppCompatActivity { private boolean isExpanded = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(sa.. 2024. 12. 24.
[JAVA][Android] TouchDelegate로 터치 영역 확장하기 안녕하세요! 이번 글에서는 안드로이드 TouchDelegate 기능에 대해 알아보겠습니다.문제: 작은 버튼이 주는 불편함앱을 사용할 때 크기가 작은 버튼이나 UI 요소를 클릭해야 했던 경험이 있으신가요? 예를 들어, 작은 체크박스를 누르려고 했는데 계속 다른 곳을 터치하거나 클릭에 실패했던 상황이 떠오를 겁니다. 특히, 화면 크기가 작은 기기나 손가락이 크신 분들에게 이런 불편함이 있었습니다. 이러한 문제를 안드로이드 기능을 사용해 TouchDelegate는 버튼의 실제 터치 영역을 확장하여 사용자가 보다 쉽게 버튼을 누를 수 있도록 도와줍니다.즉, 디자인의 제약을 유지하면서도 사용자가 쉽게 버튼을 클릭 할 수 있게 도와 줄 수 있습니다.  작은 UI 요소: 체크박스, 라디오 버튼, 스위치 등.커스텀 디.. 2024. 12. 22.
[Android][JAVA] TextView와 DynamicTextView 비교: 텍스트 레이아웃 처리의 차이점 안드로이드 텍스트를 화면에 표시 할 때 사용하는 기본적인 뷰는 "TextView" 입니다그러나 텍스트가 길어질 경우 TextView는 자동으로 줄 바꿈 처리나 텍스트가 화면을 넘어가는 것을 다루지 못 할 경우가 있습니다.이에 비해 DynamicLayout을 활용한 텍스트뷰는 길이에 맞춰 동적으로 레이아웃을 조정하고 텍스트가 화면 크기에 맞게 자동으로 줄바꿈되는 특징이 있습니다. TextView는 간단한 텍스트 표시용으로 사용되며, 기본적으로 텍스트를 한 줄로만 표시하고, 긴 텍스트에 대한 자동 줄바꿈 처리나 텍스트 크기 조정 기능이 부족합니다. 긴 텍스트를 표시할 때 화면을 벗어나거나, 스크롤을 통해 텍스트를 확인해야 할 수도 있습니다.장점: 사용이 간단하고 기본적인 텍스트 표시가 가능합니다.단점: 긴 .. 2024. 12. 19.
[Java][Android] TranslateAnimation을 활용한 텍스트 이동 애니메이션 안녕하세요,  오늘은 TranslateAnimation을 활용하여 텍스트를 이동하는 애니메이션 예제를 만들어 보겠습니다.  TranslateAnimation은 Android에서 뷰를 X축과 Y축 방향으로 이동시키는 애니메이션 효과를 구현할 때 사용하는 클래스 입니다.  MainActivity.javapublic class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // TextVie.. 2024. 12. 18.
[Java][Android] PhotoEditor 라이브러리 사용하여 이미지 편집하기 안녕하세요 오늘은 PhotoEditor 라이브러리 사용하여 이미지 편집을 해보도록 하겠습니다. PhotoEditor 라이브러리는 텍스트 추가, 드로잉, 이미지 추가, 필터 적용, 이모지 추가 등 다양한 기능을 지원하는 라이브러리 입니다.이 중, 텍스트 추가 및 드로잉 기능을 구현해보도록 하겠습니다. 전체 코드 입니다. activity_main.xml   MainActivity.javapublic class MainActivity extends AppCompatActivity { private PhotoEditor photoEditor; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreat.. 2024. 12. 14.
[Java][Android] AlphaAnimation을 활용하여 글자 페이드 인/페이드 아웃 애니메이션 적용 안녕하세요, 오늘은 AlphaAnimation을 활용하여 텍스트에 페이드 인 / 페이드 아웃 애니메이션을 적용해보도록 하겠습니다.  AlphaAnimation은 안드로이드에서 제공하는 애니메이션 클래스 중 하나로, 뷰(View)의 투명도(Alpha 값)를 조정하여 페이드 인(Fade In) 또는 페이드 아웃(Fade Out) 효과를 구현할 때 사용됩니다. 전체 코드 입니다.  MainActivity.javapublic class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); .. 2024. 12. 12.
[Java][Android] SeekBar 사용하여 값 나타내기 안녕하세요.이번에는 SeekBar를 사용하여 숫자를 조절하고 이를 TextView로 표시하는것을 구현해보도록 하겠습니다. SeekBar는 슬라이더와 유사한 UI 컴포넌트로, 숫자 값의 범위를 시각적으로 조절할 때 유용합니다. 전체 코드입니다. MainActivity.javapublic class MainActivity extends AppCompatActivity { private SeekBar seekBarValue; private TextView valueLabel; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.. 2024. 12. 8.