Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.12 KB | None | 0 0
  1. package com.example.lab5
  2.  
  3. import android.os.Bundle
  4. import android.view.LayoutInflater
  5. import android.view.View
  6. import android.view.ViewGroup
  7. import androidx.fragment.app.Fragment
  8. import androidx.recyclerview.widget.RecyclerView
  9.  
  10. import androidx.recyclerview.widget.StaggeredGridLayoutManager
  11.  
  12.  
  13. class CatsFragment : Fragment() {
  14.  
  15. var images: ArrayList<String> = ArrayList()
  16.  
  17. override fun onCreate(savedInstanceState: Bundle?) {
  18. super.onCreate(savedInstanceState)
  19. addImage()
  20. }
  21.  
  22. lateinit var v : View
  23. override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
  24. v = inflater.inflate(R.layout.gallery_layout, container, false)
  25. val recycle : RecyclerView = v.findViewById(R.id.rv_numbers)
  26. val adapter = ListAdapter(images, context!!)
  27. val layout = StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL)
  28. recycle.layoutManager = layout
  29. recycle.adapter = adapter
  30. return v
  31. }
  32.  
  33. fun addImage(){
  34. images.add("https://images.unsplash.com/photo-1505481354248-2ba5d3b9338e?ixlib=rb-1.2.1&w=1000&q=80")
  35. images.add("https://www.nationalgeographic.com/content/dam/news/2018/05/17/you-can-train-your-cat/02-cat-training-NationalGeographic_1484324.jpg")
  36. images.add("https://i.pinimg.com/originals/1c/ba/1e/1cba1e5e40356f6edb0235c8a09a07d5.jpg")
  37. images.add("https://medialeaks.ru/wp-content/uploads/2017/10/catbread-03-600x400.jpg")
  38. images.add("https://rozetked.me/images/uploads/dwoilp3BVjlE.jpg")
  39. images.add("https://www.nkj.ru/upload/iblock/586/5869ae125599f498bfdc2808f206fcb2.jpg")
  40. images.add("https://i.pinimg.com/originals/36/fd/c3/36fdc3549189dd354acc8d4b2615c571.jpg")
  41. images.add("https://static.tildacdn.com/tild3739-3339-4864-b734-386336353235/20143010160217.jpg")
  42. images.add("https://i.ytimg.com/vi/PjcAJEv0BaE/maxresdefault.jpg")
  43. images.add("https://pressa.tv/uploads/posts/2019-01/1547559085_pressa_tv_3.jpg")
  44. images.add("https://i.mycdn.me/i?r=AzGBqNaF5OQp2lMpnhRx4DEFWvY3EBErmDe74gBYPbKV1Xdh7cYKjqlQPl6tLA4irsU")
  45. images.add("https://www.ridus.ru/images/2019/8/15/959904/main_slider_fd777c4b0a.jpg")
  46. images.add("https://memepedia.ru/wp-content/uploads/2018/08/1476772041569.jpg")
  47. images.add("https://animaltoday.net/wp-content/uploads/2019/04/Funny-Cat-Videos1.jpg")
  48. images.add("https://boygeniusreport.files.wordpress.com/2015/06/funny-cat.jpg?quality=98&strip=all&w=782")
  49. images.add("https://i.redd.it/25s04u40uqy11.jpg")
  50. }
  51. }
  52.  
  53. package com.example.lab5
  54.  
  55. import android.content.Context
  56. import android.media.MediaPlayer
  57. import android.view.LayoutInflater
  58. import android.view.ViewGroup
  59. import androidx.recyclerview.widget.RecyclerView
  60. import android.view.View
  61. import com.squareup.picasso.Picasso
  62. import kotlinx.android.synthetic.main.list_view_element.view.*
  63.  
  64. class ListAdapter(val items : ArrayList<String>, val context: Context) : RecyclerView.Adapter<ViewHolder>(){
  65.  
  66. override fun onBindViewHolder(holder: ViewHolder, position: Int) {
  67. Picasso.get().load(items.get(position)).into(holder.imageElement)
  68. holder.imageElement.setOnClickListener{
  69. Picasso.get().load("http://www.todayifoundout.com/wp-content/uploads/2017/11/rick-astley.png").into(holder.imageElement)
  70. val mp = MediaPlayer.create(context, R.raw.quack)
  71. mp.start()
  72. }
  73. }
  74.  
  75.  
  76. override fun getItemCount(): Int {
  77. return items.count()
  78. }
  79.  
  80. override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
  81. return ViewHolder(LayoutInflater.from(context).inflate(R.layout.list_view_element, parent, false))
  82. }
  83.  
  84.  
  85. }
  86. class ViewHolder (view: View) : RecyclerView.ViewHolder(view) {
  87. val imageElement = view.img_id
  88. }
  89.  
  90. <?xml version="1.0" encoding="utf-8"?>
  91. <androidx.recyclerview.widget.RecyclerView
  92. xmlns:android="http://schemas.android.com/apk/res/android"
  93. android:id="@+id/rv_numbers"
  94. android:layout_width="wrap_content"
  95. android:layout_height="wrap_content">
  96. </androidx.recyclerview.widget.RecyclerView>
  97.  
  98. <?xml version="1.0" encoding="utf-8"?>
  99. <androidx.constraintlayout.widget.ConstraintLayout
  100. xmlns:android="http://schemas.android.com/apk/res/android"
  101. xmlns:app="http://schemas.android.com/apk/res-auto"
  102. xmlns:tools="http://schemas.android.com/tools"
  103. android:background="@color/colorAccent"
  104. android:layout_width="match_parent"
  105. android:layout_height="wrap_content">
  106.  
  107. <ImageView
  108. android:id="@+id/img_id"
  109. android:layout_width="match_parent"
  110. android:layout_height="wrap_content"
  111. tools:srcCompat="@tools:sample/backgrounds/scenic"
  112. app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent"
  113. app:layout_constraintEnd_toEndOf="parent" app:layout_constraintBottom_toBottomOf="parent"
  114. android:adjustViewBounds="true"/>
  115. </androidx.constraintlayout.widget.ConstraintLayout>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement