1+ package moe.feng.kotlinyan
2+
3+ import android.app.Fragment
4+ import android.app.FragmentManager
5+ import android.os.Bundle
6+ import android.support.design.widget.TabLayout
7+ import android.support.v13.app.FragmentPagerAdapter
8+ import android.support.v4.view.ViewPager
9+ import android.support.v7.app.AppCompatActivity
10+ import android.view.Menu
11+ import moe.feng.kotlinyan.common.AndroidExtensions
12+ import moe.feng.kotlinyan.common.ColorExtensions
13+ import org.jetbrains.anko.find
14+
15+ class MainActivity : AppCompatActivity (), AndroidExtensions, ColorExtensions {
16+
17+ val tabLayout by lazy { find<TabLayout >(R .id.tab_layout) }
18+ val viewPager by lazy { find<ViewPager >(R .id.view_pager) }
19+
20+ override fun onCreate (savedInstanceState : Bundle ? ) {
21+ super .onCreate(savedInstanceState)
22+ setContentView(R .layout.activity_main)
23+
24+ supportActionBar?.elevation = 0f
25+
26+ viewPager.adapter = PagerAdapter (fragmentManager)
27+ tabLayout.setupWithViewPager(viewPager)
28+ }
29+
30+ override fun onCreateOptionsMenu (menu : Menu ? ): Boolean {
31+ menuInflater.inflate(R .menu.menu_main, menu)
32+
33+ /* *
34+ * Tint menu items easily
35+ */
36+ menu?.tintItemsColor(resources.color[R .color.grey_material_control])
37+
38+ return super .onCreateOptionsMenu(menu)
39+ }
40+
41+ private class PagerAdapter (fm : FragmentManager ? ) : FragmentPagerAdapter(fm) {
42+
43+ val items = arrayOf<Pair <String , Fragment >>(
44+ " ViewExtension" to ViewExtDemoFragment (),
45+ " NetworkExtension" to NetworkExtDemoFragment (),
46+ " PicassoExtension" to PicassoExtDemoFragment ()
47+ )
48+
49+ override fun getPageTitle (position : Int ): CharSequence = items[position].first
50+
51+ override fun getItem (position : Int ): Fragment = items[position].second
52+
53+ override fun getCount (): Int = items.size
54+
55+ }
56+
57+ }
0 commit comments