【Android】RecyclerViewでHorizontalScrollを実現する[備忘録]
掲題の通りRecyclerViewでHorizontalScrollを実現します。
RecyclerViewHolder.kt
import android.view.View
import androidx.recyclerview.widget.RecyclerView
class RecyclerViewHolder(view: View): RecyclerView.ViewHolder(view) {
// layoutファイルのUIコンポーネント
}
RecyclerAdapter.kt
import android.content.Context
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.fuga.hoge.R
class RecyclerAdapter(private val context: Context) : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
val layoutInflater = LayoutInflater.from(context)
val view = layoutInflater.inflate(R.layout.layout_recycler_item, parent, false)
val holder = TutorialRecyclerViewHolder(view)
return holder
}
override fun getItemCount(): Int {
return 3
}
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
}
}
MainActivity.kt
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.PagerSnapHelper
import androidx.recyclerview.widget.RecyclerView
import com.fuga.hoge.R
import com.fuga.hoge.presentation.MainActivity
class LoginActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login)
this.createRecyclerView()
}
// MARK: - Privates
private fun createRecyclerView() {
val recyclerView = findViewById<RecyclerView>(R.id.recycler_view)
val adapter = RecyclerAdapter(this)
recyclerView.adapter = adapter
val layoutManager = LinearLayoutManager(this)
layoutManager.orientation = (LinearLayoutManager.HORIZONTAL)
recyclerView.layoutManager = layoutManager
val snapHelper = PagerSnapHelper()
snapHelper.attachToRecyclerView(recyclerView)
}
}
- layoutManagerのorientationにLinearLayoutManager.HORIZONTALを設定し、対象RecyclerViewのlayoutManagerとする
- SnapHelperを有効にしたい場合はsnapHelper.attachToRecyclerView()に対象RecyclerViewを与える

たった1日で基本が身に付く! Androidアプリ開発超入門
- 作者:中川 幸哉
- 発売日: 2018/09/21
- メディア: 単行本(ソフトカバー)
