Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.lab5
- import android.os.Bundle
- import android.view.LayoutInflater
- import android.view.View
- import android.view.ViewGroup
- import androidx.fragment.app.Fragment
- import androidx.recyclerview.widget.RecyclerView
- import androidx.recyclerview.widget.StaggeredGridLayoutManager
- class CatsFragment : Fragment() {
- var images: ArrayList<String> = ArrayList()
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- addImage()
- }
- lateinit var v : View
- override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
- v = inflater.inflate(R.layout.gallery_layout, container, false)
- val recycle : RecyclerView = v.findViewById(R.id.rv_numbers)
- val adapter = ListAdapter(images, context!!)
- val layout = StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL)
- recycle.layoutManager = layout
- recycle.adapter = adapter
- return v
- }
- fun addImage(){
- images.add("https://images.unsplash.com/photo-1505481354248-2ba5d3b9338e?ixlib=rb-1.2.1&w=1000&q=80")
- images.add("https://www.nationalgeographic.com/content/dam/news/2018/05/17/you-can-train-your-cat/02-cat-training-NationalGeographic_1484324.jpg")
- images.add("https://i.pinimg.com/originals/1c/ba/1e/1cba1e5e40356f6edb0235c8a09a07d5.jpg")
- images.add("https://medialeaks.ru/wp-content/uploads/2017/10/catbread-03-600x400.jpg")
- images.add("https://rozetked.me/images/uploads/dwoilp3BVjlE.jpg")
- images.add("https://www.nkj.ru/upload/iblock/586/5869ae125599f498bfdc2808f206fcb2.jpg")
- images.add("https://i.pinimg.com/originals/36/fd/c3/36fdc3549189dd354acc8d4b2615c571.jpg")
- images.add("https://static.tildacdn.com/tild3739-3339-4864-b734-386336353235/20143010160217.jpg")
- images.add("https://i.ytimg.com/vi/PjcAJEv0BaE/maxresdefault.jpg")
- images.add("https://pressa.tv/uploads/posts/2019-01/1547559085_pressa_tv_3.jpg")
- images.add("https://i.mycdn.me/i?r=AzGBqNaF5OQp2lMpnhRx4DEFWvY3EBErmDe74gBYPbKV1Xdh7cYKjqlQPl6tLA4irsU")
- images.add("https://www.ridus.ru/images/2019/8/15/959904/main_slider_fd777c4b0a.jpg")
- images.add("https://memepedia.ru/wp-content/uploads/2018/08/1476772041569.jpg")
- images.add("https://animaltoday.net/wp-content/uploads/2019/04/Funny-Cat-Videos1.jpg")
- images.add("https://boygeniusreport.files.wordpress.com/2015/06/funny-cat.jpg?quality=98&strip=all&w=782")
- images.add("https://i.redd.it/25s04u40uqy11.jpg")
- }
- }
- package com.example.lab5
- import android.content.Context
- import android.media.MediaPlayer
- import android.view.LayoutInflater
- import android.view.ViewGroup
- import androidx.recyclerview.widget.RecyclerView
- import android.view.View
- import com.squareup.picasso.Picasso
- import kotlinx.android.synthetic.main.list_view_element.view.*
- class ListAdapter(val items : ArrayList<String>, val context: Context) : RecyclerView.Adapter<ViewHolder>(){
- override fun onBindViewHolder(holder: ViewHolder, position: Int) {
- Picasso.get().load(items.get(position)).into(holder.imageElement)
- holder.imageElement.setOnClickListener{
- Picasso.get().load("http://www.todayifoundout.com/wp-content/uploads/2017/11/rick-astley.png").into(holder.imageElement)
- val mp = MediaPlayer.create(context, R.raw.quack)
- mp.start()
- }
- }
- override fun getItemCount(): Int {
- return items.count()
- }
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
- return ViewHolder(LayoutInflater.from(context).inflate(R.layout.list_view_element, parent, false))
- }
- }
- class ViewHolder (view: View) : RecyclerView.ViewHolder(view) {
- val imageElement = view.img_id
- }
- <?xml version="1.0" encoding="utf-8"?>
- <androidx.recyclerview.widget.RecyclerView
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/rv_numbers"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content">
- </androidx.recyclerview.widget.RecyclerView>
- <?xml version="1.0" encoding="utf-8"?>
- <androidx.constraintlayout.widget.ConstraintLayout
- 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:background="@color/colorAccent"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
- <ImageView
- android:id="@+id/img_id"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- tools:srcCompat="@tools:sample/backgrounds/scenic"
- app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintEnd_toEndOf="parent" app:layout_constraintBottom_toBottomOf="parent"
- android:adjustViewBounds="true"/>
- </androidx.constraintlayout.widget.ConstraintLayout>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement