이번 시간에는 RecyclerView에 보이는 아이템들 홀수, 짝수 별로
색상을 다르게 주는 방법을 알아보겠습니다.
- 설명 -
리스트에 뿌려지는 아이템의 레이아웃 화면입니다.
<?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"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
app:cardCornerRadius="3dp"
app:cardElevation="10dp">
<TextView
android:id="@+id/text_view"
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center_vertical"
android:padding="5dp"
android:textColor="@android:color/white"
android:textSize="20sp"
android:textStyle="bold" />
</androidx.cardview.widget.CardView>
</LinearLayout>
2022.01.01 - [안드로이드] - [안드로이드 스튜디오] 레이아웃 추가하는 방법
- 설명 -
데이터를 적용하는 onBindViewHolder에서 position에 따라 색상을
다르게 주는 기능을 구현했습니다.
public class ListAdapter extends RecyclerView.Adapter<ListAdapter.ViewHolder>{
ArrayList<String> list = new ArrayList<>();
Context context;
public ListAdapter(Context context) {
this.context = context;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View view = inflater.inflate(R.layout.list_item, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
//데이터 텍스트뷰에 담기
holder.textView.setText(list.get(position));
if(position % 2 == 1){
holder.textView.setBackgroundColor(ContextCompat.getColor(context,
android.R.color.holo_green_dark));
}else{
holder.textView.setBackgroundColor(ContextCompat.getColor(context,
android.R.color.holo_green_light));
}
}
public void setItem(String item){
list.add(item);
}
@Override
public int getItemCount() {
return list.size();
}
class ViewHolder extends RecyclerView.ViewHolder{
TextView textView;
public ViewHolder(@NonNull View itemView) {
super(itemView);
//변수에 담기
textView = itemView.findViewById(R.id.text_view);
}
}
}
2021.12.31 - [안드로이드] - [안드로이드 스튜디오] 자바 클래스 생성하는 방법
<?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">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</LinearLayout>
public class MainActivity extends AppCompatActivity {
//선언
RecyclerView recyclerView;
ListAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//변수에 담기
recyclerView = findViewById(R.id.recycler_view);
//설정
recyclerView.setLayoutManager(new LinearLayoutManager(MainActivity.this));
//어뎁터 설정
adapter = new ListAdapter(MainActivity.this);
//샘플 데이터 생성
for(int i = 0; i < 20; i++){
//어뎁터 데이터 저장
adapter.setItem("item" + i);
}
//데이터 적용
adapter.notifyDataSetChanged();
//어뎁터 적용
recyclerView.setAdapter(adapter);
} //onCreate
}//MainActivity
2022.03.23 - [안드로이드] - [안드로이드] tic-tac-toe 보드게임 만드는 방법 part1 - 화면 구성
2022.03.24 - [안드로이드] - [안드로이드] tic-tac-toe 보드게임 만드는 방법 part2- 기능 구현
2022.03.25 - [안드로이드] - [안드로이드] 리스트뷰 (ListView) 홀 수행, 짝수행 별 색상 다르게 하는 방법
[안드로이드] 숫자 맞추기 게임 Up&Down 만드는 방법 part1 - 화면 구성 (0) | 2022.03.28 |
---|---|
[안드로이드] 룰렛(Roulette) 쉽게 만드는 방법 (0) | 2022.03.27 |
[안드로이드] 리스트뷰 (ListView) 홀수행, 짝수행 별 색상 다르게 하는 방법 (0) | 2022.03.25 |
[안드로이드] tic-tac-toe 보드게임 만드는 방법 part2- 기능구현 (0) | 2022.03.24 |
[안드로이드] tic-tac-toe 보드게임 만드는 방법 part1 - 화면구성 (0) | 2022.03.23 |
댓글 영역