Android/UI-UX 디자인(18)
-
Jetpack Compose에서 TextField와 OutlinedTextField의 차이점
1. TextField기본적인 Material Style의 입력 필드내부에 밑줄이 있는 형태Material Design System에서 기본적으로 제공하는 스타일보통 일반적인 텍스트 입력 필드에 사용TextField( value = text, onValueChange = { text = it }, label = { Text("기본 TextField") })2. OutlinedTextField테두리가 있는 입력 필드OutlinedTextField는 사각형 외곽선(border)이 있는 형태더 명확한 경계를 제공하여 구분이 필요한 경우 사용3. 사용 시점TextField기본적인 입력 필드가 필요한 경우배경과 자연스럽게 어울려야 하는 경우OutlinedTextField입력 필드를 더 명확하게 구..
2025.02.28 -
Android UI 관리하기 | 하드코딩 된 string을 모두 resource 파일로 옮기기
🌟 들어가기 전요즘 같은 국제적인 시대에 앱에서 다국어 처리는 매우 중요하다.strings.xml 리소스 파일을 통해 다들 다국어를 지원하고 있을 것이다. 하지만 개발을 하다보면 “나중에 해야지~” 하고 우선 큰 따옴표로 하드코딩 텍스트를 박아놓고 까먹은 경우가 있지 않을까?아니면 내가 신규로 맡은 앱에서 이전 개발자가 귀찮다는 이유로 리소스 관리를 하지 않은 경우도 있지 않을까? 그렇다면 나는 어떻게 하드코딩 된 string을 한번에 찾아낼 수 있을까? 🔍 세부 내용첫번째 방법. 전체 검색을 활용하자우리에겐 Ctrl+Shift+F 라는 전체 검색 기능이 존재한다. 하지만 단순 검색이 아니다.검색을 할 때도 정규표현식을 이용하여 검색하면 더 쉽게 검색할 수 있다.“.*” 라는 정규 표현식을 사용하면 ..
2025.02.04 -
Android Jetpack ComposeUI 기초 문법 및 특징
ComposeUI 강의를 열심히 봤는데, 아무리 따라해도 머리에서 휘발되어버리는 느낌이다.직접 Compose를 이용한 토이 프로젝트를 하기 전에 전체적으로 문법 정리를 먼저 해야할 것 같았다. 1. @Composable 애너테이션 Composable 함수Jetpack Compose에서 UI를 정의하는 기본 단위함수에 @Composable 애너테이션을 붙이면 이 함수는 UI 요소를 그릴 수 있게 된다.@Composablefun Greeting(name: String) { Text(text = "Hello, $name!")} 2. Text 텍스트 출력텍스트를 화면에 표시하는 가장 기본적인 컴포넌트이다.@Composablefun SimpleText() { Text(text = "Hello, Wor..
2024.08.24 -
[Android/Webview]안드로이드 웹뷰에서 html 코드 가져오기
1. WebView를 초기화하고 웹 페이지 로드 javaCopy code WebView webView = findViewById(R.id.webView); // 웹뷰 레이아웃과 연결 // WebView 설정 webView.getSettings().setJavaScriptEnabled(true); // JavaScript 활성화 webView.setWebViewClient(new WebViewClient()); // WebViewClient 설정 // 웹 페이지 로드 webView.loadUrl("https://example.com"); // 웹 페이지의 URL을 여기에 입력 2. WebViewClient를 사용하여 페이지 로드 완료 후 HTML body 얻기 javaCopy code webView.set..
2023.08.26 -
[Android/Layout]TextView 일부에 Link를 넣고 싶을 때? Linkify
TextView에서 일부 글자에만 Link를 삽입하고 싶을 때 쓰는 방법입니다. Linkify는 텍스트 조각과 정규식을 가져와 텍스트의 모든 정규식 일치 항목을 클릭 가능한 링크로 바꿔줍니다. private void setLinkify() { Linkify.TransformFilter transformFilter = (matcher, s) -> "{이동하고 싶은 url}"; Pattern pattern = Pattern.compile("{링크를 연결하고 싶은 텍스트}"); Linkify.addLinks(_binding.agree2, pattern, "", null, transformFilter); } Linkify.MatchFilter 패턴과 일치하는 문자 범위를 검사하고 일치를 실행 가능한 링크로 전환..
2023.04.20 -
[Android/Layout]TextView에서 끝에 .. 처리하기
텍스트뷰를 한줄로 표시하면서, 글자수가 넘어갈 경우 생략 표시를 하려면 maxLines와 ellipsize를 사용하면 된다. ellipsize = "end" : 뒷부분을 ...으로 표시 ellipsize = "middle" : 중간 부분을 ...으로 표시 ellipsize = "none" : ...없이 뒷부분을 잘라서 표시 (default) maxLines : 최대 TextView 줄
2023.02.25