Untitled
user_5593861113
kotlin
3 years ago
4.2 kB
11
Indexable
package com.bunyaminsahin.superkahramanktab
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.recyclerview.widget.LinearLayoutManager
import kotlinx.android.synthetic.main.activity_tanitim.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//1-superKahrmaan isimelerinden bir dizi oluşturuyoruz
var SuperKahramanlar= ArrayList<String>()
SuperKahramanlar.add("Batman")
SuperKahramanlar.add("Superman")
SuperKahramanlar.add("Ironman")
SuperKahramanlar.add("Aquaman")
SuperKahramanlar.add("Spiderman")
/*
2-Görselleri Bitmap e yani kod(encode) ye çeviriyoruz
-res klasörünün açlımı resources uygulamanın contexsi ile bu klasöre ulaşabilirsin
-BitmapFactory görselleri nesneleştirir yani kod(decode) haline getirir
*.decodeByteArray() internetten indirdiğin görselleri kod haline getirmek için kullanılır
*.decodeFile() hafıza kartından veya cihaz hafızasından aldığın görselleri kod haline getirmek için kullanılır
*.decodeResource() res dosyasının içerisindeki görseli kod haline getirmek için kullanılır
-Uygulamanın içerisindeki tüm kaynaklara applicationContext.resources ile ulaşabilirsin
*/
var BatmanBitmap=BitmapFactory.decodeResource(applicationContext.resources,R.drawable.batman)
var SupermanBitmap=BitmapFactory.decodeResource(applicationContext.resources,R.drawable.superman)
var IronmanBitmap=BitmapFactory.decodeResource(applicationContext.resources,R.drawable.ironman)
var AquamanBitmap=BitmapFactory.decodeResource(applicationContext.resources,R.drawable.aquamen)
var SpidermanBitmap=BitmapFactory.decodeResource(applicationContext.resources,R.drawable.spiderman)
//3-super kahraman görsellerini dizinin içerisine ekliyoruz
var super_kahraman_gorselleri= ArrayList<Bitmap>()
super_kahraman_gorselleri.add(BatmanBitmap)
super_kahraman_gorselleri.add(SupermanBitmap)
super_kahraman_gorselleri.add(IronmanBitmap)
super_kahraman_gorselleri.add(AquamanBitmap)
super_kahraman_gorselleri.add(SpidermanBitmap)
/*
4-RecyclerView un içerisini oluşturacak bir arayüz oluşturmak
--------------------------------------------------------------------------------------------
RECYCLER_ROW AYARLAMA:
recycler_row adını verdiğimiz arayüz sayfasının içerisinde yaptığımız her şey RecyclerView e gidecek
1-constraintlayout yerine LinearLayout kullanıyoruz
LinearLayout un orientationunu ver dikeymi yatay mı
2-İçerisine bir tane TextView koyuyoruz genişliğini ve yüksekliğini ayarlıyoruz
*"match_parent" ekranın tamamını kaplar
*"wrap_content" orjinali ne kadarsa o kadar
Her satır için ayrı LinearLayout oluşturduğmuz için LinearLayout un ekranı kaplamasına izin verme
3-textSize ile metin büyüklüğünü ayarlıyoruz
4-textColor ile metin rengini ayarlıyoruz
5-margin ayarlıyoruz
*layout_margin x ve y exsenine uzaklığını aynı anda belirler
6-"@+id/ ile id veriyoruz
--------------------------------------------------------------------------------------------
5-recycler_row arayüzü ile RecyclerView u birbirine bağlacak bir adaptorClass ı oluşturuyoruz
*/
//veriyi karşı tarafa gönderidik
var adaptor=RecyclerAdaptor(SuperKahramanlar,super_kahraman_gorselleri)
//9-RecyclerView in görünümünü beliriyoruz
var layoutManager=LinearLayoutManager(applicationContext)//Activity içerisinde olduğumuz için contexte this verdik
recyclerView.layoutManager=layoutManager
//10-adaptorlerimizi birbirne bağlıyoruz
recyclerView.adapter=adaptor
}
}
Editor is loading...