android9 RecyclerView 일정하게 여백 설정 문제 RecyclerView Grid 형태로 2줄 만들 때 한쪽으로 치우침 - 좌,우, 상, 하 일정한 여백을 주어 아이템들을 중앙에 배치하고 싶다. 해결 1. layout_xml에 RecyclerView 추가 2. GridSpaceItemDecoration 클래스 만들기 GridSpaceItemDecoration.kt class GridSpaceItemDecoration(val spanCount: Int, val space: Int): RecyclerView.ItemDecoration() { override fun getItemOffsets( outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State ) { val positio.. 2023. 10. 6. [android] 접근성(accessibility) android:contentDescription="@string/app_name" android:contentDescription 속성은 안드로이드 뷰(예: ImageView, Button 등)에 대한 접근성(accessibility) 설명을 제공하는 데 사용된다. 이 속성은 주로 시각적으로 인식하기 어려운 요소(이미지, 아이콘 등)에 대한 설명을 제공하여 시각 장애인 및 기타 장애를 가진 사용자가 앱을 더 잘 이해하고 상호 작용할 수 있도록 돕는 데 사용된다. android:contentDescription는 문자열 리소스를 참조하거나 직접 문자열을 제공하여 뷰에 설명을 추가할 수 있다. 일반적으로 다음과 같은 경우에 사용됩니다. 이미지 및 아이콘: 이미지나 아이콘을 사용하는 경우, 이미지가 나타내는 .. 2023. 9. 11. [android] NestedScrollView에서 ViewPager2가 슬라이드 이동을 하지 않는 문제 ViewPager2가 슬라이드 이동을 하지 않는 문제는 NestedScrollView가 터치 이벤트를 가로채서 발생하는 문제일 수 있다. ViewPager2에 터치 이벤트가 전달되어야 한다. 이 문제를 해결하기 위해서는 ViewPager2가 터치 이벤트를 받을 수 있도록 NestedScrollView를 터치 이벤트를 투과시키는 방법을 사용해야 한다. 이를 위해 NestedScrollView에 다음과 같은 속성을 추가할 수 있다. android:fillViewport="true" android:descendantFocusability="blocksDescendants" android:fillViewport="true": NestedScrollView가 자식 뷰를 포함하는 데 필요한 공간을 차지하도록 한다... 2023. 9. 10. [android] ConstraintLayout 화면 비율 유지하기 안드로이드 레이아웃을 만들 때 직접 너비, 높이 값을 설정하면 화면 크기에 따라 배치가 조금씩 달라질 수 있다! 이를 방지하기 위해서는 크기를 직접 설정하는 것이 아닌 비율로 크기를 설정하는 것이 좋은 것 같다. 그래서 자주 쓰는 ConstrainLayout의 화면 비율 유지하는 방법을 정리해 보려고 한다. ConstarintLayout 화면 비율 맞추는 방법 - Chain 이용 수평 비율을 기준으로 정리했음! [1:1:1 비율] 1. 비율을 맞출 View들을 배치한다. 2. layout_width 값을 0dp로 설정한다 android:layout_width="0dp" 3. Design에 들어가 비율을 맞추고자 하는 View들을 선택하고, 오른쪽 마우스 클릭 후 Chains를 선택한다 (horizonta.. 2023. 2. 18. [android] this와 this@ 프로젝트를 진행하던 중 의문이 생겨서 적어본다. class SignUpActivity : AppCompatActivity() { private lateinit var viewBinding: ActivitySignUpBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) viewBinding = ActivitySignUpBinding.inflate(layoutInflater) setContentView(viewBinding.root) viewBinding.btnIndividual.setOnClickListener { startActivity(Intent(this,IndividualSignUp.. 2023. 2. 16. [해결하기] TalkBack- focus 부분과 accessiblity 부분 처리 Activity에 BottomNavigation이 있고 BottomNavigation을 누르면 Fragment 화면이 띄워지도록 구현하려고 했다. TalkBack을 이용하는 프로젝트를 진행하고 있는데, 문제가 발생하여 적어본다. Activity 화면에 Fragment 화면이 올라오는데 Fragment 화면을 터치하면 Fragment 부분을 읽어주는 것이 아니라 아래에 깔려있는 Activity 화면의 View 들이 터치가 된다. 일단 이러한 문제를 아래와 같이 해결하였다. //BottomNav viewBinding.btnHtu.setOnClickListener { supportFragmentManager .beginTransaction() .replace(viewBinding.bottomFrameFragm.. 2023. 1. 26. 이전 1 2 다음