GridView 만들기
item_spinner.xml
1. xml파일 만들기
app - src - main - res - layout Layout리소스파일 만들기
2. item_spinner 코드
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/listItem"
android:layout_width="match_parent"
android:layout_height="45dp"
android:paddingTop="10dp"
android:paddingStart="30dp"
android:textColor="@android:color/darker_gray"
android:textSize="15sp"
android:paddingLeft="30dp"/>
1번 방법 activity_main(스크롤)
activity_main 코드
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.044"/>
<GridView
android:id="@+id/grid"
android:columnWidth="100dp"
android:layout_width="471dp"
android:layout_height="602dp"
tools:ignore="MissingConstraints"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.507"
app:layout_constraintVertical_bias="0.765"/>
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity
class MainActivity : AppCompatActivity() {
val b by lazy { ActivityMainBinding.inflate(layoutInflater) }
var items = arrayOf( // 스크롤기능 확인을 위해 중복작성
"서울", "부산", "대구", "광주", "인천", "목포", "여수", "태백",
"서울", "부산", "대구", "광주", "인천", "목포", "여수", "태백",
"서울", "부산", "대구", "광주", "인천", "목포", "여수", "태백",
"서울", "부산", "대구", "광주", "인천", "목포", "여수", "태백",
"서울", "부산", "대구", "광주", "인천", "목포", "여수", "태백",
"서울", "부산", "대구", "광주", "인천", "목포", "여수", "태백"
)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(b.root)
// grid 목록생성
// item_spinner레이아웃에 items들을 각각 넣은 리스트 grid에 세팅
b.grid.setAdapter(
ArrayAdapter(this, R.layout.item_spinner, items)
)
// 항목 클릭시 이벤트
b.grid.setOnItemClickListener{ parent, View, position, id ->
b.textView.text = items[position]
// 클릭시 textView의 text가 해당항목의 값으로 바뀜
}
}
}
1번 방법 결과
첫 실행화면
서울 터치 시 textView변경 및 스크롤기능도 정상작동
2번 방법 activity_main(전체보기)
// activity_main - GridView
android:numColumns="auto_fit"
GridView에 해당 코드 추가작성
2번 방법 결과
첫 실행화면
부산 터치 시 textView변경
Author And Source
이 문제에 관하여(GridView 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kucx1230/GridView-만들기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)