RecyclerView 가로 스크롤 효과 구현
4955 단어 RecyclerView가로 스크롤
레이아웃 파일
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".RecyclerViewActivity">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="8dp"/>
</LinearLayout>
Item
android:layout_width="100dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_margin="5dp">
<ImageView
android:id="@+id/iv_recyclerview_imag"
android:layout_width="wrap_content"
android:layout_height="100dp" />
<TextView
android:id="@+id/tv_recyclerview_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" "
android:textSize="17sp"
android:layout_gravity="center"
android:textStyle="bold"
android:padding="3dp"/>
</LinearLayout>
어댑터
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> {
private List<Animal> animalList;
private int resource;
public RecyclerViewAdapter(List<Animal> animalList, int resource) {
this.animalList = animalList;
this.resource = resource;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext()).inflate(resource,parent,
false);
ViewHolder holder = new ViewHolder(itemView);
return holder;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
Animal animal = animalList.get(position);
holder.animalImag.setImageResource(animal.getImageId());
holder.animalName.setText(animal.getName());
}
@Override
public int getItemCount() {
return animalList.size();
}
static class ViewHolder extends RecyclerView.ViewHolder{
ImageView animalImag;
TextView animalName;
public ViewHolder(View itemView){
super(itemView);
animalImag = itemView.findViewById(R.id.iv_recyclerview_imag);
animalName = itemView.findViewById(R.id.tv_recyclerview_name);
}
}
}
핵심 코드
public class RecyclerViewActivity extends AppCompatActivity {
private List<Animal> animalList = new ArrayList<>();
private RecyclerView recyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recycler_view);
recyclerView = findViewById(R.id.recyclerView_view);
initAnimals();
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
recyclerView.setLayoutManager(linearLayoutManager);
RecyclerViewAdapter adapter = new RecyclerViewAdapter(animalList,R.layout.recyclerview_item);
recyclerView.setAdapter(adapter);
}
//
private void initAnimals() {
Animal daxaing = new Animal(" ", R.drawable.animal_one);
animalList.add(daxaing);
Animal shizi = new Animal( " ", R.drawable.animal_two);
animalList.add(shizi);
Animal daishu = new Animal(" ", R.drawable.animal_three);
animalList.add(daishu);
Animal laohu = new Animal(" ", R.drawable.animal_four);
animalList.add(laohu);
Animal zhu = new Animal(" ", R.drawable.animal_five);
animalList.add(zhu);
Animal songshu = new Animal(" ", R.drawable.animal_six);
animalList.add(songshu);
Animal baozi = new Animal(" ", R.drawable.animal_seven);
animalList.add(baozi);
Animal shayu = new Animal(" ", R.drawable.animal_eight);
animalList.add(shayu);
}
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Android】RecyclerView+RadioButton의 작성RadioGroup을 사용하지 않고 작성합니다. RecyclerView 배치 activity_main.xml RadioButton 배치 view_item.xml RecyclerView 용 어댑터 작성. 어느 버튼을 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.