/
TabLayoutResource.kt
113 lines (95 loc) · 3.15 KB
/
TabLayoutResource.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
package com.example.webviewbookmarker.enum
import android.content.Context
import android.graphics.drawable.Drawable
import androidx.core.content.res.ResourcesCompat
import androidx.fragment.app.Fragment
import com.example.webviewbookmarker.R
import com.example.webviewbookmarker.fragment.FavoriteFragment
import com.example.webviewbookmarker.fragment.MemoFragment
import com.example.webviewbookmarker.fragment.NewsFragment
import com.example.webviewbookmarker.fragment.SettingFragment
/**
* タブレイアウトのリソース管理.
*/
enum class TabLayoutResource {
/**
* お気に入り.
*/
TAB_FAVORITE {
override fun getFragment(): Fragment {
// お気に入りフラグメント
return FavoriteFragment()
}
override fun getTabIcon(context: Context): Drawable? {
// お気に入りアイコン
return ResourcesCompat.getDrawable(context.resources, R.drawable.hart_white, null)
}
override fun getTabTitle(context: Context): String {
// お気に入りタイトル
return context.getString(R.string.tab_title_favorite)
}
},
/**
* お知らせ.
*/
TAB_NEWS {
override fun getFragment(): Fragment {
// お知らせフラグメント
return NewsFragment()
}
override fun getTabIcon(context: Context): Drawable? {
// お知らせアイコン
return ResourcesCompat.getDrawable(context.resources, R.drawable.news_white, null)
}
override fun getTabTitle(context: Context): String {
// お知らせタイトル
return context.getString(R.string.tab_title_news)
}
},
/**
* メモ.
*/
TAB_MEMO {
override fun getFragment(): Fragment {
// メモフラグメント
return MemoFragment()
}
override fun getTabIcon(context: Context): Drawable? {
// メモアイコン
return ResourcesCompat.getDrawable(context.resources, R.drawable.memo_white, null)
}
override fun getTabTitle(context: Context): String {
// メモタイトル
return context.getString(R.string.tab_title_memo)
}
},
/**
* 設定.
*/
TAB_SETTING {
override fun getFragment(): Fragment {
return SettingFragment()
}
override fun getTabIcon(context: Context): Drawable? {
// 設定アイコン
return ResourcesCompat.getDrawable(context.resources, R.drawable.setting_white, null)
}
override fun getTabTitle(context: Context): String {
// 設定タイトル
return context.getString(R.string.tab_title_setting)
}
}
;
/**
* タブに表示するフラグメントを返却する.
*/
abstract fun getFragment(): Fragment
/**
* タブに表示するアイコンを返却する.
*/
abstract fun getTabIcon(context: Context): Drawable?
/**
* タブに表示するタイトルを返却する.
*/
abstract fun getTabTitle(context: Context): String
}