본문 바로가기
반응형

전체 글340

안드로이드 다이얼로그를 디바이스 넓이에 맞추기 개발을 하던중 어떻게 해도 다이얼로그가 디바이스 크기에 맞춰지지 않았다. xml에서 요리조리 수정해보고, width를 match_parent로 해봤다가, layout을 Linear, Relative, Constraint로 바꾸어 보았지만 도저히 디바이스 크기에 맞게 안바뀌는것... 그렇게 고민하다가 그냥 패스 해버렸는데 회사 인턴분이 친절하게 알려줬다. 생각보다 간단한 코드로 해결이 가능했다. override fun onResume() { super.onResume() dialog?.window?.setLayout( WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT ) } 나는 다이얼로그를 DialogFragm.. 2020. 11. 3.
코틀린 - 코루틴 기본(Coroutine Basic) 첫 번째 코 루틴 import kotlinx.coroutines.* fun main() { GlobalScope.launch { // launch a new coroutine in background and continue delay(1000L) // non-blocking delay for 1 second (default time unit is ms) println("World!") // print after delay } println("Hello,") // main thread continues while coroutine is delayed Thread.sleep(2000L) // block main thread for 2 seconds to keep JVM alive } 위의 코드를 IDE에 넣.. 2020. 6. 22.
안드로이드 커스텀 폰트 적용 방법 안드로이드 개발 시 폰트를 설정하지 않아도 시스템 폰트가 자동으로 적용된다. 그러나 앱의 특성상 특별한 폰트가 필요하다면 폰트를 다운로드하여 앱에 적용해야 한다. 폰트 다운로드 우선 이번 예제에 사용될 스포카 폰트를 다운로드할 것이다. 굳이 스포카가 아니더라도 본인이 원하는 폰트를 받으면 된다. 리소스 자체의 용량의 문제도 있기 때문에 Subset을 사용할 것이다. 받은 파일의 압축을 풀면 위와 같은 모습이 나온다. 이 파일들 중 우리에게 필요한 것은 ttf 파일이다. 안드로이드 리소스 생성 안드로이드 스튜디오로 돌아와 res 안에 font 디렉터리를 생성하고 다운로드한 Spoqa 폰트를 넣어준다. 이때 리소스 규칙에 맞추어 폰트 파일 이름은 소문자와 언더바(_)의 조합으로 만들어 주자 font.xml .. 2020. 6. 18.
안드로이드 흐르는 텍스트처리 - 띠 배너(Ticker) 만들기 안드로이드의 TextView에서는 ellipsize라는 말줄임 효과 속성이 있다. 텍스트의 앞, 중간, 뒷 부분을 줄여주는 start, middle, end 값이 있지만 특이하게 marquee라는 속성값도 제공한다. 이 값으로 텍스트 뷰의 전체 글자를 흐르게 할 수 있다. 기본예제 activity_main.xml 먼저 텍스트 뷰에서 글자를 흐르게 만드는 속성들을 정의한다. 우선, 앞서 언급했던 ellipsize를 marquee로 선언한다. 다음으로 singleLine과 focusable을 true로 선언한다. 이 세가지 값이 설정되어야 흐르는 효과가 처리되므로 반드시 놓치지 않아야한다. 나머지 백그라운드, 텍스트 컬러나 패딩 등은 본인이 원하는 색으로 처리하자. ActivityMain.kt class M.. 2020. 6. 17.
안드로이드 토스트 메세지(Toast Message) 만들기 토스트 메세지란(Toast Message)? 토스트 메세지란 짧은 메세지를 유저에게 노출 시킨 후 일정 시간이 지나면 사라지는 팝업이다. 우리가 앱에서 흔히 볼수 있는 뒤로가기를 눌렀을때 "뒤로가기를 한 번 더 누르면 앱이 종료됩니다."라고 뜨는 팝업이 토스트 메세지 이다. 기본적인 코드는 다음과 같다. val myToast = Toast.makeText(applicationContext, "Hello, World!", Toast.LENGTH_SHORT) myToast.show() 여기서 첫번째 인자는 컨텍스트, 두번째는 노출할 메세지, 세번째 인자는 Toast.LENGTH_SHORT는 Duration, 즉 노출 시간을 전달한다. 노출 시간은 Toast내에 static하게 LENGTH_SHORT와 LEN.. 2020. 6. 17.
안드로이드 TextView 글자수 초과 시 말 줄임표 처리 말 줄임표 텍스트 뷰 영역이 제한적이라 모든 텍스트가 들어가지 않을때 말 줄임표를 사용한다. TextView에서는 ellipsize라는 속성을 제공해주므로 이를 이용해서 말줄임표 처리를 할 수 있다. ellipsize는 다음값들을 지정할 수 있다. - none : 말줄임 처리 없음 - start : 텍스트의 시작 부분 말줄임(...) - middle : 텍스트의 중간 부분 말줄임(...) - end : 텍스트의 끝 부분 말줄임(...) - marquee : 흐르는 텍스트 처리 marquee에 대한 예제는 아래에 링크를 첨부한다. https://new93helloworld.tistory.com/391 예제 marquee는 제외한 ellipsize 예제 코드이다. 위의 코드에서 가장 중요한점은 ellipsi.. 2020. 6. 16.
내 돈주고 사서 리뷰 - BLDC 선풍기 1달 사용 후기 [르네 LZDF-TR810] 바야흐로 모기와 더위의 계절 여름이 왔다. 거실 바닥에 폭신폭신한 러그가 왕골 자리로 바뀌고, 꽁꽁 걸어 잠궜던 창문도 환기를 위해 활짝 열어 두었다. 새로 이사온 집은 거실 천장에 에어컨이 달려있어 안심이라고 생각했다. 그러나 역대 최악의 더위가 예상되는 2020년 아니던가. 날씨가 맛탱이가 가서 5월이 부터 들이닥친 열풍에 에어컨 한대는 역부족이었다. 이사오기 전 사용하던 신일 선풍기는 배송오자마자 모가지가 부러져서 애처롭게 우리의 여름을 지켜주었다. 전세 계약 2년 동안 고된 노동을 마치고, 그 선풍기는 당근 마켓으로 팔려나갔다. 전에 쓰던 선풍기가 시원치 않아서 이번에는 제대로 된걸 사보자 하고 여러 제품을 찾아봤다. 여러가지 저가 선풍기들이 많았지만 싼 맛에 샀다가 피를 봤기 때문에 필요한 요소.. 2020. 6. 16.
안드로이드 Bottom Sheet Dialog 만들기 Bottom Sheet Dialog Bottom Sheet 다이얼로그는 기존 화면 위에 하단으로 떠서, 필요한 내용을 보충 할때 주로 사용한다. Dialog Fragment 나 Alert Dialog가 보다 넓은 영역을 제공함으로써, 기본적인 텍스트 뿐만 아니라 아이템 선택, 이벤트 알림 등 다양한 내용을 포함할 수 있다. 예제 코드는 코틀린으로 작성 되었으며 기본적인 동작을 보여 주기 위해 Data bidning이나 Observer, ViewModel 등을 사용하지 않았다. Gradle(meterial design 종속성 추가) dependencies { ... implementation "com.google.android.material:material:1.2.0-alpha01" ... } 안드로이드.. 2020. 6. 15.
안드로이드 커스텀 다이얼로그 만들기 다이얼로그? 다이얼로그는 기존의 화면 위에 떠서 유저에게 간단한 알림을 보내고 싶을 때 사용한다. 안드로이드에서는 AlertDialog라는 다이얼로그를 제공해주지만, 이 경우 기본적인 모양에서 다른 기능을 추가하거나 디자인 변경이 어렵다. 따라서 나에게 필요한 기능과 디자인을 xml으로 생성하고, DialogFragment으로 커스텀 다이얼로그를 만드는 방법에 대해 알아보도록 하자. 예제는 코드는 코틀린으로 작성되었으며, 기본적인 동작을 보여 주기 위해 Data Binding이나 Observer, ViewModel 등을 사용하지 않았다. 다이얼로그 코드(xml) 위의 예제 완성본과 동일한 xml 코드이다. 이때 최상위 layout은 Relative Layout으로 지정해주어야 한다. tools: 는 미리.. 2020. 6. 14.
반응형