Activity 입문 부터 포기 까지

11081 단어
  • 기본 컨트롤 ① Button: 텍스트 가 대문자 로 표시 되 어 있 음 을 알 수 있 습 니 다. 원본 텍스트 내용 을 유지 하려 면 XML 에 추가 해 야 합 니 다.
  • android:textAllCaps = "false"
    

    / 이 벤트 를 클릭 하려 면 해당 Activity 에 모니터 를 등록 해 야 합 니 다.
    button.setOnClickListener{
        ...
    }
    

    ② TextView: 텍스트 정보 표시 ③ 텍스트 편집: 텍스트 입력 상자
    android:hint = "text"  //      
    android:maxLines = "n"  //    
    

    ④ ImageView / ProgressBar 그림 을 drawable 디 렉 터 리 에 놓 고 style 속성 을 통 해 진행 막대 형식 ⑤ AlertDialog 팝 업 대화 상 자 를 설정 할 수 있 습 니 다. 모든 인터페이스 요소 위 에 setTitle () setMessage () setCancelable (false): Back 키 는 setPositiveButton / setNegativeButton ("text") {dialog, which - >} 확인 단추 와 취소 단 추 를 되 돌 릴 수 없습니다.
  • 레이아웃 ① LinearLayout: 선형 레이아웃 (자주 사용) ② RelativeLayout: 상대 적 인 레이아웃, 컨트롤 은 부모 레이아웃 에 비해 포 지 셔 닝 합 니 다.속성 이 좀 많아 졌 습 니 다.eg: 부모 레이아웃 이나 다른 컨트롤 의 상하 좌우 에 비해.③ FrameLayout: 프레임 구조, 가장 간단 하고 Fragment 와 결합
  • RecyclerView (중점 소개) 가로 레이아웃, 격자 레이아웃, 폭포 흐름 레이아웃 추가 컨트롤 은 build. gradle 에 의존 을 추가 하 는 동시에 activitymain. xml 에서 완전한 가방 경 로 를 써 야 합 니 다
  • 어댑터 설정:
    class FruitAdapter (val fruitList: List<Fruit>) :
    RecyclerView.Adapter<FruitAdapter.ViewHolder>(){
    
        inner class ViewHolder(view: View): RecyclerView.ViewHolder(view){
            val fruitImage :ImageView = view.findViewById(R.id.fruitImage)
            val fruitName :TextView = view.findViewById(R.id.fruitName)
        }
    
        override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
            val view= LayoutInflater.from(parent.context)
                .inflate(R.layout.fruit_item, parent, false)
            val viewHolder = ViewHolder(view)
            //     
            viewHolder.itemView.setOnClickListener {
                val position = viewHolder.adapterPosition
                val fruit = fruitList[position]
                Toast.makeText(parent.context,"You clicked view ${fruit.name}",Toast.LENGTH_SHORT).show()
            }
            //ImageView
            viewHolder.fruitImage.setOnClickListener {
                val position = viewHolder.adapterPosition
                val fruit = fruitList[position]
                Toast.makeText(parent.context,"you clicked image ${fruit.name}", Toast.LENGTH_SHORT).show()
            }
            return viewHolder
        }
    
        override fun onBindViewHolder(holder: ViewHolder, position: Int) {
            val fruit = fruitList[position]
            holder.fruitImage.setImageResource(fruit.ImageId)
            holder.fruitName.text = fruit.name
        }
    
        override fun getItemCount() = fruitList.size
    
    }
    

    RecyclerView 에서 계승 합 니 다. Adapter 는 onCreate ViewHolder () 를 다시 써 야 합 니 다. ViewHolder 인 스 턴 스 를 만 들 고 레이아웃 을 불 러 옵 니 다. 구조 함수 에 onBindViewHolder () 로 전송 합 니 다. RecyclerView 하위 항목 의 데 이 터 를 할당 합 니 다. 하위 항목 이 화면 으로 굴 러 갈 때 getItemCount () 를 실행 합 니 다. 데이터 원본 의 길 이 를 되 돌려 주면 됩 니 다.❗해당 Activity 에 레이아웃 을 불 러 오 려 면 layoutManager 가 필요 합 니 다.
    val layoutManager = StaggeredGridLayoutManager(3,StaggeredGridLayoutManager.VERTICAL)
            recyclerView.layoutManager = layoutManager
            val adapter = FruitAdapter(fruitList)
            recyclerView.adapter = adapter
    

    Fragment 는 태 블 릿 폰 이 호 환 되 는 뉴스 애플 리 케 이 션 에 대해 알 게 되 었 습 니 다. 귀납 을 하지 않 겠 습 니 다. (마음 이 피곤 합 니 다 ~) 다음 부 터 는 두 번 째 구성 요 소 를 배 워 야 합 니 다. BroadcastReceiver!!

    좋은 웹페이지 즐겨찾기