이번 시간에는 리스트뷰에 보이는 아이템들 홀수, 짝수 별로
색상을 다르게 주는 방법을 알아보겠습니다.
- 설명 -
dividerHeight: 행 나누는 줄 높이
divider: 행 나누는 줄 색상
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/list_view"
android:dividerHeight="2dp"
android:divider="@android:color/white"/>
</LinearLayout>
- 설명 -
리스트뷰(ListView)가 만들어질 때 쓰이는 getView 메서드에서
행위치(position)를 2로 나눠 홀 수행, 짝수행 별로 바탕 색상을 따로 주었습니다.
public class MainActivity extends AppCompatActivity {
//선언
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//변수에 담기
listView = findViewById(R.id.list_view);
//샘플 데이터 생성
ArrayList itemList = new ArrayList();
for(int i = 0; i < 20; i++){
itemList.add("item"+i);
}
//어뎁터 설정
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, itemList){
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
View view = super.getView(position, convertView, parent);
if(position % 2 == 1){
view.setBackgroundColor(ContextCompat.getColor(MainActivity.this, android.R.color.holo_blue_dark));
}else{
view.setBackgroundColor(ContextCompat.getColor(MainActivity.this, android.R.color.holo_blue_light));
}
return view;
}
};
//어뎁터 적용
listView.setAdapter(arrayAdapter);
}
}//MainActivity
2022.03.23 - [안드로이드] - [안드로이드] tic-tac-toe 보드게임 만드는 방법 part1 - 화면 구성
2022.03.24 - [안드로이드] - [안드로이드] tic-tac-toe 보드게임 만드는 방법 part2- 기능 구현
[안드로이드] 룰렛(Roulette) 쉽게 만드는 방법 (0) | 2022.03.27 |
---|---|
[안드로이드] 리싸이클러뷰(RecyclerView) 홀수행, 짝수행 별 색상 다르게 하는 방법 (0) | 2022.03.26 |
[안드로이드] tic-tac-toe 보드게임 만드는 방법 part2- 기능구현 (0) | 2022.03.24 |
[안드로이드] tic-tac-toe 보드게임 만드는 방법 part1 - 화면구성 (0) | 2022.03.23 |
[안드로이드] ToDoList SQLite 만드는 방법 part3 - 수정, 삭제 (0) | 2022.03.22 |
댓글 영역