전체 글 167

안드로이드 - ContextMenu

1. ContextMenu란? - 화면에 배치된 뷰에 설정할 수 있는 메뉴 - 메뉴가 설정된 뷰를 길게 누르면 메뉴가 나타난다. - 길게 눌러야 나오기 때문에 직관적인 메뉴가 아니고, 보통 리스트뷰에 넣어서 나온다. 2. registerForContext - 컨텍스트 메뉴를 등록하는 메서드 - 메서드의 매개 변수로 넣어준 뷰 객체에 컨텍스트 메뉴가 설정된다. 3. onCreateContextMenu - 뷰를 길게 누르면 컨텍스트메뉴가 호출되는 메서드 - 여기에서 컨텍스트 메뉴를 구성한다. 4. OnContextItemSelected - 사용자가 메뉴를 선택했을 때 호출되는 메서드 5. 생성 순서 1. 컨텍스트 메뉴를 뷰에 세팅 // 1. 컨텍스트 메뉴를 뷰에 세팅 registerForContextMenu..

안드로이드 - 메뉴 - OptionMenu

1. OptionMenu란? - 안드로이드에서 화면당 하나씩 가질 수 있는 메뉴를 의미한다. - 현재 보이는 화면(Activity)의 메인 메뉴가 된다. - 1. 코드로 생성하는 법, 2. xml로 추가하는 법이 있다. 1. xml로 추가하는법 1. res폴더 -> Android Resources File 추가 -> menu파일 생성하여 배치 override fun onCreateOptionsMenu(menu: Menu?): Boolean { //1. xml로 메뉴 생성 메뉴 생성은 menuInflater menuInflater.inflate(R.menu.optionmenu, menu) return true } override fun onOptionsItemSelected(item: MenuItem): ..

안드로이드 - ViewPager

1. ViewPager란? - 좌우로 스와이프 하며 View를 전환하는 AdapterView (Ex. 갤러리) - 화면이 바뀌는 것이 아닌 화면만한 뷰들이 전환되는 개념이다. - 따라서, ViewPager로 스와이프 시킬 View들의 리스트를 만들고 그 리스트를 관리해주어야 한다. // 1. 뷰리스트 생성 var view_list = ArrayList() // 2. 뷰리스트에 add. view_list.add(layoutInflater.inflate(R.layout.view1,null)) view_list.add(layoutInflater.inflate(R.layout.view2,null)) view_list.add(layoutInflater.inflate(R.layout.view3,null)) 2. A..

안드로이드 - Spinner

1. Spinner란? - 사용자에게 항목을 주고 선택하게 할 수 있는 AdapterView - 리스트뷰가 쫘락 나오고 사용자가 항목을 선택하면 팝업창으로 뜨는것이 Spinner. 2. 리스너 OnItemSelectedListner : 스피너에서 항목을 선택할 때 호출되는 리스너 // inner 클래스 var listener = SpinnerListener() spinner.onItemSelectedListener = listener // 익명 중첩 클래스 spinner2.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( parent: AdapterView?, view: Vie..

안드로이드 - CustomAdapter

1. CustomAdapter란? - 리스트뷰를 사용할 때 특별한 기능을 추가해서 만들고 싶다면 Adapter 클래스를 직접 만들어 사용하면 된다. - Adapter 클래스를 만들 때는 BaseAdapter 클래스를 상속받아 작성한다. 2. 주요 메서드 getCount : 리스트뷰 내의 전체 항목의 개수를 반환한다. getView: 리스트 뷰 항목 하나를 구성하여 반환한다. (항목 하나의 모양) 리스트 뷰 항목 하나를 구성하기 위해 호출되는 메서드. 이 함수로 리턴되는 View로 리스트뷰 항목 하나를 구성. 예를들어 100만개의 항목 중 7개만 화면에 보인다고 하면 초기화 시에 7번 호출되었다가 스크롤 내리면서 새롭게 나타나는것만큼 그 항목을 구성하기 위해 호출된다. 이 때 보였다가 안보이게된 View는..

안드로이드 - CustomListView2

1. CustomListView란? - 리스트뷰를 구성할 때 항목 하나의 모양을 개발자가 직접 만들어 사용할 수 있다. - 항목 하나에 배치된 뷰 중 2개 이상의 뷰에 데이터를 셋팅 할 때는 SimpleAdaptor을 사용한다. 2. SimpleAdaptor - 두 개 이상의 뷰에 데이터를 세팅할 경우에는 SimpleAdaptor을 사용한다. - 심플어댑터 구조는 항목 하나를 구성할 객체들을 Hasmap 객체에 담는다. 그 Hashmap을 arraylist에 담는다. 그 arraylist를 어댑터에 세팅한다. 3. 어댑터 세팅 순서 리스트 항목 하나의 레이아웃을 만든다. ImageView에 들어갈 리소스를 drawable폴더에 넣는다. 안드로이드OS는 Drawable폴더에 있는 리소스를 사용할 때 리소스..

안드로이드 - CustomListView

1. CustomListView란? - 리스트뷰의 항목들을 내가 원하는 레이아웃 형태로 만들 수 있다. - 문자열 하나만 항목에 넣을 경우 "ArrayAdator"을 쓰면 된다. 기본 레이아웃의 리스트 항목을 두 번째 레이아웃의 형태로 만들고싶다! 2. 어댑터 연결 - 리스트 항목에 문자열만 있으므로 ArrayAdaptor 사용. - 안드로이드가 알고있는 레이아웃을 할 때는 레이아웃, 데이터만 전달해줘도 된다. - 하지만 내가 만든 레이아웃(row1)을 사용할 때는 리스트항목의 id(textview2)를 안드로이드에게 알려줘야한다. // 1.안드로이드가 알고있는 레이아웃을 할때는 레이아웃, 데이터만 전달해줘도된다. // 2. 하지만 내가 만든 레이아웃(row1)을 사용할 때는 이 데이터를 넣을 곳(리스트..

안드로이드 - ListView

1. ListVIew란? - 여러 항목들을 제공하고 위 아래로 스크롤하여 항목을 보여주는 뷰. 2. 주요 프로퍼티 프로퍼티 설명 adapter 리스트뷰를 구성하기 위한 어댑터 객체를 설정 1. 리스트를 채울 자료형 생성 2. adapter 연결 3. 리스너 연결 3. 리스너 - OnItemClickListener //3. //리스너 : 리스트의 항목을 터치하면 발생하는 리스너 var listner = ListListener(); listview.setOnItemClickListener(listner); //람다식 listview.setOnItemClickListener { parent, view, position, id -> textView.text = data[position] } } inner cla..

안드로이드 - ImageView

1. ImageView 란? - 이미지를 사용자에게 보여주고자 하는 목적으로 제공되는 뷰 2. 주요 속성 속성 설명 src 보여줄 이미지를 지정하는 속성 srcCompat 벡터 방식의 이미지(SVG, PSD 등 용량 크지만 확대/축소해도 안깨짐)을 처리할 수 있는 기능이 추가된 속성 3. .res 폴더의 Drawable vs Mipmap Drawable 폴더 Mipmap 폴더 어플에서 사용하는 모든 이미지 런처프로그램 마다 아이콘이 다르게 나오는데, 이를 위해 런처 아이콘용 이미지 대부분 비트맵 파일 벡터 방식(이미지를 그리는 코드가 들어있는 형식으로 용량이 크지만 확대/축소해도 이미지가 안깨짐)으로 그린 이미지 4. 주요 메서드 메서드 설명 setImageResource res 폴더에 있는 이미지를 설..