Android鎬庝箞瀹炵幇鍥剧墖鎺掑垪鍔熻兘
瑕佸疄鐜板浘鐗囨帓鍒楀姛鑳斤紝鍙互浣跨敤RecyclerView鏉ュ睍绀哄浘鐗囧垪琛紝骞朵娇鐢℅ridLayoutManager鏉ュ疄鐜板浘鐗囩殑鎺掑垪銆?/p>
棣栧厛锛屽湪甯冨眬鏂囦欢涓坊鍔犱竴涓猂ecyclerView锛?/p>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="8dp" />
鐒跺悗锛屽湪Activity鎴朏ragment涓壘鍒癛ecyclerView骞惰缃竷灞€绠$悊鍣ㄥ拰閫傞厤鍣細
RecyclerView recyclerView = findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new GridLayoutManager(this, 3)); // 璁剧疆涓?鍒楃殑缃戞牸甯冨眬
recyclerView.setAdapter(new ImageAdapter(imageList)); // imageList鏄浘鐗囧垪琛ㄧ殑鏁版嵁婧?/span>
鎺ヤ笅鏉ワ紝鍒涘缓涓€涓€傞厤鍣紙ImageAdapter锛夌户鎵胯嚜RecyclerView.Adapter锛屽苟瀹炵幇蹇呰鐨勬柟娉曪細
public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ViewHolder> {
private List<Image> images;
public ImageAdapter(List<Image> images) {
this.images = images;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_image, parent, false);
return new ViewHolder(itemView);
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
Image image = images.get(position);
holder.imageView.setImageResource(image.getResourceId());
}
@Override
public int getItemCount() {
return images.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
public ImageView imageView;
public ViewHolder(@NonNull View itemView) {
super(itemView);
imageView = itemView.findViewById(R.id.imageView);
}
}
}
鏈€鍚庯紝鍒涘缓涓€涓猧tem_image.xml甯冨眬鏂囦欢鐢ㄤ簬鏄剧ず姣忎釜鍥剧墖椤圭殑甯冨眬锛屽彲浠ヨ嚜瀹氫箟鍥剧墖椤圭殑鏍峰紡锛?/p>
<ImageView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/imageView"
android:layout_width="100dp"
android:layout_height="100dp"
android:scaleType="centerCrop" />
閫氳繃浠ヤ笂姝ラ锛屽氨鍙互瀹炵幇鍥剧墖鍒楄〃鐨勬帓鍒楀姛鑳戒簡銆?/p>
相关问答