Android Jetpack ComposeUI 기초 문법 및 특징
·
Android/UI-UX 디자인
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..
[Android/Webview]안드로이드 웹뷰에서 html 코드 가져오기
·
Android/UI-UX 디자인
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..
[Android/Layout]TextView 일부에 Link를 넣고 싶을 때? Linkify
·
Android/UI-UX 디자인
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 패턴과 일치하는 문자 범위를 검사하고 일치를 실행 가능한 링크로 전환..
[Android/Layout]TextView에서 끝에 .. 처리하기
·
Android/UI-UX 디자인
텍스트뷰를 한줄로 표시하면서, 글자수가 넘어갈 경우 생략 표시를 하려면 maxLines와 ellipsize를 사용하면 된다. ellipsize = "end" : 뒷부분을 ...으로 표시 ellipsize = "middle" : 중간 부분을 ...으로 표시 ellipsize = "none" : ...없이 뒷부분을 잘라서 표시 (default) maxLines : 최대 TextView 줄
[Android/Layout]소스에서 컬러에 알파값 추가하기
·
Android/UI-UX 디자인
Alpha값이란? Color에서 '투명도' 색상값을 입력할 때, # 이후에 Alpha값을 넣어주면 됨 원하는 투명도 퍼센티지는 아래 값 참고 ex) #(Alpah)(Color) => #CCFFFFFF :: 투명도가 80%인 흰색 Alpha값 100% — FF 99% — FC 98% — FA 97% — F7 96% — F5 95% — F2 94% — F0 93% — ED 92% — EB 91% — E8 90% — E6 89% — E3 88% — E0 87% — DE 86% — DB 85% — D9 84% — D6 83% — D4 82% — D1 81% — CF 80% — CC 79% — C9 78% — C7 77% — C4 76% — C2 75% — BF 74% — BD 73% — BA 72% — B8 7..
[Android/Layout]xml에서 tools 란?
·
Android/UI-UX 디자인
안드로이드에서 xml을 작성하다 보면 android, app, tools를 만나게 됩니다. 처음엔 그냥 안드로이드에서 추천해주는 코드대로 쓰다보니 저들의 관계에 대해 생각해보지 않다가 우연히 tools 용도에 대해 알게되어 작성해보려고 합니다. 1. 실제 소스상에서는 나타나지 않지만, Preview에서는 보고 싶을 때 사용 2. text, visibility, listitem 등이 있음 3. 참고링크 : https://developer.android.com/studio/write/tool-attributes
[Android/Layout]RecyclerView 내에서 View Binding 사용하기
·
Android/UI-UX 디자인
01. view binding을 사용할 수 있도록 환경 설정 android { // 기존 내용들 생략.. buildFeatures { // 뷰 바인딩 활성화 viewBinding true } } 02. Activity / Fragment에서 RecyclerView 설정 binding.recyclerView.setLayoutManager( new LinearLayoutManager({this 혹은 context}, LinearLayoutManager.VERTICAL, false)); binding.recyclerView.setAdapter(new {Adapter명: MyAdapter}({리사이클러뷰에 넣을 리스트})); binding.recyclerView.setHasFixedSize(true); bind..
[Android/WebView]기초 #1. 주소를 가져와 화면에 호출
·
Android/UI-UX 디자인
01. 환경설정 Webview에 곧바로 loadUrl로 띄울 경우 ERR_CLEARTEXT_NOT_PERMITTED 에러 발생 설정 1. AndroidMenifest 인터넷 접속 권한 추가 설정 2. AndroidMenifest application에 usesCleartextTraffic="true" 설정 https 경로의 경우 접속이 가능하나 http 경로의 경우 접속이 불가능 02. 레이아웃 세팅 03. 소스코드 public class Web1Activity extends AppCompatActivity { private ActivityWeb1Binding web1Binding; @Override protected void onCreate(Bundle savedInstanceState) { super..
[Android/Layout]리사이클러뷰 내 Swipe 기능으로 리스트 새로고침
·
Android/UI-UX 디자인
1. SwipeRefreshLayout을 사용하기 위해 implementation 해준다. implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0" 2. 리사이클러뷰가 존재하는 xml에서 리사이클러뷰는 SwipeRefreshLayout으로 감싸준다. 3. 스와이프뷰에 setOnRefreshListener를 통해 리스트를 갱신하는 기능을 넣어준다. view.Swipe_HomeF_SwipeRefresh.setOnRefreshListener { // 리사이클러뷰와 연결한 배열을 초기화하고 수정하는 소스를 추가해준다. // 배열이 변경되었다는 것을 리사이클러뷰에 알려준다 RecyclerView.adapter?.notifyDataSetChange..
[Android/Basic]설정화면 구현하기
·
Android/UI-UX 디자인
1. 설정화면(Preference)를 사용하기 위하여 의존성을 주입한다. //설정화면에서 사용할 preference implementation 'androidx.preference:preference:1.1.0-alpha01' 2. 설정 화면을 구현한다. (res>xml 폴더 생성, XML Resource File) * CheckBoxPreference는 설정을 체크하거나 해제할 수 있도록 지원해준다. * SwitchPreference는 설정을 on/off 할 수 있도록 지원해준다. * ListPreference는 선택 시 팝업 창으로 선택할 수 있는 리스트들이 뿌려지는데, 이건 values/strings.xml에서 선언해준다. 2-1) values/strings.xml에 리스트 추가한다. aaa bbb..
[Android/Layout]DB 데이터를 Fragment 내 RecyclerView에 뿌리기(MS-SQL)
·
Android/UI-UX 디자인
* DB 연결 참조 [Android Studio/Kotlin]MS-SQL DB를 안드로이드 스튜디오와 연결하기 MSSQL DB 구축이 되었다는 가정 하에 MSSQL과 안드로이드 스튜디오를 연결해보겠다. 1. DB 연결 데이터를 담을 변수 선언 var ip: String? = "211.187.2.242" // 서버 ip 주소 val port = "port번호" // port번호.. anovice-dp.tistory.com 1. Fragment 내 RecyclerView 생성 2. 리사이클러뷰 내에 들어갈 아이템 xml 만들어주기 * layout 폴더 마우스 우클릭 > layout resource file 선택 > 해당 파일 생성 3. 데이터를 관리해주는 데이터 모델 클래스 생성 data class rcv_..
[Android/Layout]Fragment에서 버튼을 생성하여 버튼 클릭 시 Activity로 intent하기
·
Android/UI-UX 디자인
1. Fragment 내 intent를 실행시키기 위한 버튼 생성 2. 버튼의 clicklistener 선언 override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { val view = inflater.inflate(R.layout.___, container, false) val go = Intent(context, 이동하고자 하는 액티비티명::class.java) // 인텐트를 생성 view.btn1.setOnClickListener { startActivity(go) } return view } * view에서 버튼 클릭을 선언하기 위해서는 onCreat..
[Android/Layout]BottomNavigationView와 ViewPager2를 이용한 화면 구축
·
Android/UI-UX 디자인
1. BottomNavigationView와 ViewPager2를 activity_main.xml에 배치 * android:layout_above="@+id/nav_Main_BottomNav"를 통해 viewPager2가 bottomNavigationView 위에 위치 2. 위 ViewPager2와 BottomNavigation을 사용하기 위해서는 build.gradle 의존 추가 // 메테리얼 디자인 : BottomNavigation 사용 implementation 'com.google.android.material:material:1.1.0' // 뷰페이저2 implementation 'androidx.viewpager2:viewpager2:1.0.0' 3. res 폴더에 menu 폴더를 만들어 Bo..
[Android/Layout]ListView Search 기능 만들기
·
Android/UI-UX 디자인
1. DogMainActivity.java 내에서 액션바 기능 넣어주기 @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.activity_actionbar_search, menu); MenuItem menuItem = menu.findItem(R.id.action_search); searchView = (SearchView)menuItem.getActionView(); searchView.setQueryHint("사료명으로 검색합니다."); searchView.setOnQueryTextListener(queryTextListener)..
[Android/Layout]ListView Click Event : 팝업창 생성
·
Android/UI-UX 디자인
1. 팝업창 activity를 생성해준다. (PopupActivity.java, activity_popup.xml) public class PopupActivity extends Activity { TextView txtText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_popup); //UI 객체생성 txtText = (TextView)findViewById(R.id.txtPopup); //데이터 가져오기 Intent intent = getIntent(); String data = intent.getString..
뿌꾸 빵
'Android/UI-UX 디자인' 카테고리의 글 목록