Kotlin实现ViewPager的左右滑动和listview的简单使用
2017-06-16 17:17
1036 查看
kotlin初窥:上一篇简单介绍了碎片的填充使用,本篇介绍ViewPager和Fragment的结合使用以及listview的简单使用
效果图:
viewpager结合碎片实现左右滑动的布局效果
1.首先创建布局,这里就不贴代码了,需要看的朋友可以下载 demo查看;布局就是RadioGroup结合ViewPager进行的创建
2.ViewPagersActivity.kt 代码(代码中有详细的注解,直接上代码):
Kotlin中listview的简单使用
在上面的viewpager中第三个碎片布局中含有listview布局。
在布局中正常添加listview,主要是代码中listview的数据填充,在碎片中代码如下:
到这已经初步的学习使用kotlin实现viewpager的左右切换,和列表的填充。
附上demo地址:http://download.csdn.net/detail/mysupergirl/9870477
希望对一起学习的朋友们有所帮助,代码中有不对的地方请指正。
效果图:
viewpager结合碎片实现左右滑动的布局效果
1.首先创建布局,这里就不贴代码了,需要看的朋友可以下载 demo查看;布局就是RadioGroup结合ViewPager进行的创建
2.ViewPagersActivity.kt 代码(代码中有详细的注解,直接上代码):
package com.eq.tanchudemo import android.os.Bundle import android.support.v4.app.Fragment import android.support.v4.app.FragmentManager import android.support.v4.app.FragmentPagerAdapter import android.support.v4.view.ViewPager import android.support.v7.app.AppCompatActivity import android.widget.RadioGroup import kotlinx.android.synthetic.main.activity_view_pagers.* class ViewPagersActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_view_pagers) //获取碎片集合,下面是获取集合的一种写法 也可以使用java代码 /** *下面这两句代码体现了与java的100%交互,可以使用java里面的用法创建集合 var list = ArrayList<Fragment>() list.add(OneFragment()) */ val fragmentList = listOf<Fragment>(OneFragment(), TwoFragment(), ThreeFragment()) //为viewpager设置适配器,kotlin中可以不用findviewbyid ,而是可以直接用设置的id.属性的方式书写 viewpager.adapter = viewPagerAdapter(supportFragmentManager, fragmentList) //为viewpager设置页面滑动监听 viewpager.setOnPageChangeListener(object : ViewPager.OnPageChangeListener { override fun onPageScrollStateChanged(state: Int) { } override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) { } override fun onPageSelected(position: Int) { //判断滑动后选择的页面设置相应的RadioButton被选中 when (position) { //这里的btn_one two the 分别是布局中的三个RadioButton的id,直接调用其方法进行设置 0 -> btn_one.isChecked = true //当只是写btn_one.isChecked获取的是它的选中状态,如果让它 =true 就会默认调用setChecked()方法进行改变状态 1 -> btn_two.isChecked = true 2 -> btn_the.isChecked = true } } }) //对RadioGroup设置监听 btn_group.setOnCheckedChangeListener(object : RadioGroup.OnCheckedChangeListener { override fun onCheckedChanged(group: RadioGroup?, checkedId: Int) { when (checkedId) { //当点击按钮时,调用如下方法选择viewpager要显示的哪个页面 R.id.btn_one -> viewpager.setCurrentItem(0, true) R.id.btn_two -> viewpager.setCurrentItem(1, true) R.id.btn_the -> viewpager.setCurrentItem(2, true) } } }) } //是为了设置第一次进入默认选中的按钮 override fun onStart() { super.onStart() btn_one.isChecked = true } //继承 FragmentPagerAdapter 创建适配器,利用主构造函数传值 class viewPagerAdapter(fm: FragmentManager?, var list: List<Fragment>) : FragmentPagerAdapter(fm) { override fun getItem(position: Int): Fragment { return list.get(position) a85b } override fun getCount(): Int { return list.size } } }
Kotlin中listview的简单使用
在上面的viewpager中第三个碎片布局中含有listview布局。
在布局中正常添加listview,主要是代码中listview的数据填充,在碎片中代码如下:
package com.eq.tanchudemo import android.os.Bundle import android.support.v4.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ArrayAdapter import kotlinx.android.synthetic.main.fragment_three.view.* import java.util.* /** * A simple [Fragment] subclass. */ class ThreeFragment : Fragment() { override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { val inflate = inflater!!.inflate(R.layout.fragment_three, container, false) //初始化数据源 var data = ArrayList<String>() //循环遍历添加数据 i in 0..15 表示循环区间[0,15]前后包括,0-15 for (i in 0..15){ data.add("条目 "+ i) } //给listview设置适配器 ,可直接通过id调用。这里的适配器使用的是系统自带 inflate.listview.adapter = ArrayAdapter(activity,android.R.layout.simple_expandable_list_item_1,data) return inflate } }
到这已经初步的学习使用kotlin实现viewpager的左右切换,和列表的填充。
附上demo地址:http://download.csdn.net/detail/mysupergirl/9870477
希望对一起学习的朋友们有所帮助,代码中有不对的地方请指正。
相关文章推荐
- 使用Kotlin实现UC头条ViewPager左右滑动效果
- Github项目解析(十三)-->使用Kotlin实现UC头条ViewPager左右滑动效果
- android 使用ViewPager实现左右滑动
- 使用ViewPager实现左右循环滑动图片1
- Android 使用ViewPager实现左右循环滑动图片
- Android 使用ViewPager实现左右循环滑动图片
- 使用viewpager嵌套实现上下左右滑动切换图片(IOS双向滚动翻页效果相同)
- 使用ViewPager实现左右循环滑动图片
- Android实现左右滑动指引效果(使用ViewPager)
- Android 使用ViewPager实现左右循环滑动图片
- android 使用ViewPager实现左右滑动
- Android使用ViewPager实现左右循环滑动及轮播效果
- 使用ViewPager实现左右循环滑动
- ViewPager 实现页面左右滑动的简单案例1
- Android使用ViewPager实现左右循环滑动及轮播效果
- Android实现左右滑动指引效果(使用ViewPager)
- Android 使用ViewPager实现左右循环滑动图片
- 使用ViewPager实现左右“无限”滑动的万年历
- Android使用ViewPager实现左右滑动效果
- 使用viewpager嵌套实现上下左右滑动切换图片(IOS双向滚动翻页效果相同)