android
-
RecyclerView 일정하게 여백 설정android 2023. 10. 6. 17:32
문제 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..
-
[android] 접근성(accessibility)android 2023. 9. 11. 01:12
android:contentDescription="@string/app_name" android:contentDescription 속성은 안드로이드 뷰(예: ImageView, Button 등)에 대한 접근성(accessibility) 설명을 제공하는 데 사용된다. 이 속성은 주로 시각적으로 인식하기 어려운 요소(이미지, 아이콘 등)에 대한 설명을 제공하여 시각 장애인 및 기타 장애를 가진 사용자가 앱을 더 잘 이해하고 상호 작용할 수 있도록 돕는 데 사용된다. android:contentDescription는 문자열 리소스를 참조하거나 직접 문자열을 제공하여 뷰에 설명을 추가할 수 있다. 일반적으로 다음과 같은 경우에 사용됩니다. 이미지 및 아이콘: 이미지나 아이콘을 사용하는 경우, 이미지가 나타내는 ..
-
[android] NestedScrollView에서 ViewPager2가 슬라이드 이동을 하지 않는 문제android 2023. 9. 10. 19:15
ViewPager2가 슬라이드 이동을 하지 않는 문제는 NestedScrollView가 터치 이벤트를 가로채서 발생하는 문제일 수 있다. ViewPager2에 터치 이벤트가 전달되어야 한다. 이 문제를 해결하기 위해서는 ViewPager2가 터치 이벤트를 받을 수 있도록 NestedScrollView를 터치 이벤트를 투과시키는 방법을 사용해야 한다. 이를 위해 NestedScrollView에 다음과 같은 속성을 추가할 수 있다. android:fillViewport="true" android:descendantFocusability="blocksDescendants" android:fillViewport="true": NestedScrollView가 자식 뷰를 포함하는 데 필요한 공간을 차지하도록 한다...
-
[android] ConstraintLayout 화면 비율 유지하기android 2023. 2. 18. 20:55
안드로이드 레이아웃을 만들 때 직접 너비, 높이 값을 설정하면 화면 크기에 따라 배치가 조금씩 달라질 수 있다! 이를 방지하기 위해서는 크기를 직접 설정하는 것이 아닌 비율로 크기를 설정하는 것이 좋은 것 같다. 그래서 자주 쓰는 ConstrainLayout의 화면 비율 유지하는 방법을 정리해 보려고 한다. ConstarintLayout 화면 비율 맞추는 방법 - Chain 이용 수평 비율을 기준으로 정리했음! [1:1:1 비율] 1. 비율을 맞출 View들을 배치한다. 2. layout_width 값을 0dp로 설정한다 android:layout_width="0dp" 3. Design에 들어가 비율을 맞추고자 하는 View들을 선택하고, 오른쪽 마우스 클릭 후 Chains를 선택한다 (horizonta..
-
[android] this와 this@android 2023. 2. 16. 23:24
프로젝트를 진행하던 중 의문이 생겨서 적어본다. 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..
-
[해결하기] TalkBack- focus 부분과 accessiblity 부분 처리android 2023. 1. 26. 04:14
Activity에 BottomNavigation이 있고 BottomNavigation을 누르면 Fragment 화면이 띄워지도록 구현하려고 했다. TalkBack을 이용하는 프로젝트를 진행하고 있는데, 문제가 발생하여 적어본다. Activity 화면에 Fragment 화면이 올라오는데 Fragment 화면을 터치하면 Fragment 부분을 읽어주는 것이 아니라 아래에 깔려있는 Activity 화면의 View 들이 터치가 된다. 일단 이러한 문제를 아래와 같이 해결하였다. //BottomNav viewBinding.btnHtu.setOnClickListener { supportFragmentManager .beginTransaction() .replace(viewBinding.bottomFrameFragm..
-
[android] Drawing circleandroid 2023. 1. 14. 22:37
1. CircleView class를 만들어준다. CircleView.kt package com.example.sample import android.content.Context import android.graphics.Canvas import android.graphics.Color import android.graphics.Paint import android.util.AttributeSet import android.view.View class BoardView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 ) : View(context, attrs, defStyleAttr..
-
화면 크기에 상관없이 View 비율 일정하게 하기android 2023. 1. 13. 14:05
1. LinearLayout 사용 맞추고 싶은 비율이 vertical인지 horizontal인지 선택 vertical일 경우: android:layout_height = 0으로 두고 android:layout_weight = 1 이런식으로 비율 맞추기 (세로로 view 비율이 맞춰진다) horizontal일 경우: android:layout_weitght=0으로 두고 android:layout_weight = 1 이런식으로 비율 맞추기 (가로로 view 비율이 맞춰진다) 2. ConstraintLayout 사용 예를 들어 디자인 부분에 버튼 크기가 24dp가 되어있었다고 치자. 따라서 버튼의 weight와 height 값을 설정하고 margin 값을 주면 화면의 크기에 따라 버튼의 위치가 조금씩 달라진다..