{"id":3519,"date":"2016-02-05T17:56:30","date_gmt":"2016-02-05T17:56:30","guid":{"rendered":"http:\/\/www.fandroid.info\/?p=3519"},"modified":"2016-02-05T18:04:13","modified_gmt":"2016-02-05T18:04:13","slug":"android-material-design-rabota-s-vkladkami","status":"publish","type":"post","link":"https:\/\/www.fandroid.info\/android-material-design-rabota-s-vkladkami\/","title":{"rendered":"Android Material Design: \u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0432\u043a\u043b\u0430\u0434\u043a\u0430\u043c\u0438"},"content":{"rendered":"
\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u00a0Android Design Support Library<\/a>\u00a0\u043e\u0431\u043b\u0435\u0433\u0447\u0430\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c\u00a0\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430\u00a0\u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0432 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u0442\u0438\u043b\u0435, \u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e\u00a0Android 2.1. \u0412 \u043d\u0435\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u0442\u0430\u043a\u0438\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u043a\u0430\u043a\u00a0navigation drawer, floating action button, snackbar, tabs, floating labels\u00a0\u0438\u00a0animation frameworks. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0443\u0437\u043d\u0430\u0435\u043c, \u043a\u0430\u043a\u00a0\u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u043a\u043b\u0430\u0434\u043a\u0438 \u0432 \u0430\u043d\u0434\u0440\u043e\u0438\u0434\u00a0\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0432 \u0441\u0442\u0438\u043b\u0435 Material Design.<\/p>\n \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0438\u0434\u0442\u0438 \u0434\u0430\u043b\u044c\u0448\u0435, \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u044c\u0442\u0435\u0441\u044c \u0441 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u044f\u0449\u0438\u043c\u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430\u043c\u0438<\/a>\u00a0\u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u043a\u043b\u0430\u0434\u043e\u043a \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445.<\/p>\n \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u00a0\u0442\u0435\u043c\u044b.<\/p>\n \u0412 Android Studio\u00a0\u0432 \u043c\u0435\u043d\u044e \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435\u00a0File \u21d2 New Project<\/strong> \u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0432\u0441\u0435 \u0434\u0435\u0442\u0430\u043b\u0438, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u041f\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u0430, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 Empty\u00a0Activity<\/strong> \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435.<\/p>\n \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0444\u0430\u0439\u043b \u0441\u0431\u043e\u0440\u043a\u0438 \u043c\u043e\u0434\u0443\u043b\u044f app\u00a0build.gradle<\/strong>\u00a0\u0438 \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0432 \u0441\u0435\u043a\u0446\u0438\u044e dependensies\u00a0<\/b>\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438\u00a0\u0434\u0438\u0437\u0430\u0439\u043d\u0430 \u00a0com.android.support:design:23.0.1:<\/strong><\/strong><\/strong><\/strong><\/p>\n \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0444\u0430\u0439\u043b\u00a0colors.xml<\/strong>\u00a0\u0432 \u043f\u0430\u043f\u043a\u0435\u00a0res \u21d2 values<\/strong> \u0438 \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0446\u0432\u0435\u0442\u0430:<\/p>\n \u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0432 \u0444\u0430\u0439\u043b\u00a0dimens.xml<\/strong>\u00a0\u0432 \u043f\u0430\u043f\u043a\u0435\u00a0res \u21d2 values:<\/strong><\/p>\n \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0444\u0430\u0439\u043b\u00a0styles.xml<\/strong>\u00a0\u0432 \u043f\u0430\u043f\u043a\u0435\u00a0res \u21d2 values<\/strong>\u00a0\u0438 \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0441\u0442\u0438\u043b\u0438. \u0421\u0442\u0438\u043b\u0438, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0432 \u044d\u0442\u043e\u043c styles.xml \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043e\u0431\u0449\u0438\u043c\u0438 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 android:<\/p>\n \u0422\u0435\u043f\u0435\u0440\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0430\u043f\u043a\u0438\u00a0res<\/strong>, \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043f\u0430\u043f\u043a\u0443 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c\u00a0values-v21<\/strong>. \u0412 \u043d\u0435\u0439 \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0444\u0430\u0439\u043b\u00a0styles.xml<\/strong>\u00a0\u0438 \u043f\u0440\u043e\u043f\u0438\u0448\u0438\u0442\u0435 \u0432 \u043d\u0435\u043c \u0441\u0442\u0438\u043b\u0438 \u0434\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0438\u00a0Android 5.0:<\/strong><\/p>\n \u0418 \u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0444\u0430\u0439\u043b\u00a0\u00a0AndroidManifest.xml<\/strong>\u00a0\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u0435 \u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e\u00a0\u043d\u0430\u0448\u0443 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0443\u044e \u0442\u0435\u043c\u0443, \u0438\u0437\u043c\u0435\u043d\u0438\u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430\u00a0android:theme:<\/em><\/p>\n \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u043e\u043d\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0432 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u0442\u0438\u043b\u0435\u00a0. \u0415\u0441\u043b\u0438 \u0432\u044b \u0432\u0438\u0434\u0438\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0446\u0432\u0435\u0442\u0430 \u043f\u0430\u043d\u0435\u043b\u0438 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439, \u044d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u0435\u043c\u0430 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u0438\u0437\u0430\u0439\u043d\u0430.<\/p>\n <\/span><\/a><\/p>\n \u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043d\u0430\u0447\u043d\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u043a\u043b\u0430\u0434\u043e\u043a. \u041d\u043e \u0434\u043e \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0412\u0441\u0435 \u044d\u0442\u0438 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0438\u043c TextView.<\/p>\n \u0412\u00a0\u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043f\u0430\u043a\u0435\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u00a0\u0441 \u0438\u043c\u0435\u043d\u0435\u043c\u00a0OneFragment.java<\/strong> \u0438 \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u0434:<\/p>\n \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0444\u0430\u0439\u043b \u043c\u0430\u043a\u0435\u0442\u0430\u00a0fragment_one.xml<\/strong>\u00a0\u0432 \u043f\u0430\u043f\u043a\u0435\u00a0res \u21d2 layout<\/strong> \u0438 \u0432\u043d\u0435\u0441\u0438\u0442\u0435\u00a0\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f:<\/p>\n 10<\/strong>. \u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u043e\u0432 \u0441 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0434\u043b\u044f OneFragment.java. \u042f \u0441\u043e\u0437\u0434\u0430\u043b TwoFragment.java<\/strong>, ThreeFragment.java<\/strong>, FourFragemnt.java<\/strong> \u2026..<\/strong>\u00a0\u0434\u043e\u00a0\u00a0TenFragment.java<\/strong>, \u0432\u0441\u0435\u0433\u043e 10 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u043e\u0432.<\/p>\n \u0424\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u043a\u043b\u0430\u0434\u043a\u0438 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 \u0443 \u0432\u0430\u0441 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u043a\u043b\u0430\u0434\u043e\u043a. \u042d\u0442\u0438 \u0432\u043a\u043b\u0430\u0434\u043a\u0438 \u0438\u043c\u0435\u044e\u0442 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u0412 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 android design support library\u00a0<\/strong>\u043c\u043d\u043e\u0433\u043e \u043d\u043e\u0432\u044b\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, CoordinatorLayout AppBarLayout, TabLayout \u0438 \u0434\u0440\u0443\u0433\u0438\u0445. \u041c\u044b\u00a0\u043d\u0435 \u043e\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0435\u043c \u0432\u0441\u0435\u0445 \u0438\u0445 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445\u00a0\u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438.<\/p>\n \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0444\u0430\u0439\u043b \u043a\u043e\u043c\u043f\u043e\u043d\u043e\u0432\u043a\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0430\u043a\u0442\u0438\u0432\u0438\u0442\u0438\u00a0(activity_main.xml<\/strong>)\u00a0\u0438 \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043a\u043e\u0434 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438:<\/p>\n app:tabMode<\/em> \u2013 \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0440\u0435\u0436\u0438\u043c \u043c\u0430\u043a\u0435\u0442\u0430 \u0432\u043a\u043b\u0430\u0434\u043e\u043a. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u201cfixed<\/strong>\u201d<\/p>\n \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 MainActivity.java \u0438 \u0432\u043d\u0435\u0441\u0438\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f:<\/p>\n tabLayout.setupWithViewPager()<\/em> \u2013 \u041d\u0430\u0437\u043d\u0430\u0447\u0430\u0435\u0442 ViewPager \u0434\u043b\u044f\u00a0TabLayout.<\/p>\n setupViewPager()<\/em> \u2013 \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u043a\u043b\u0430\u0434\u043e\u043a, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u0438 \u0438\u043c\u044f \u0432\u043a\u043b\u0430\u0434\u043a\u0438.<\/p>\n ViewPagerAdapter<\/em> \u2013 \u041a\u043b\u0430\u0441\u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e\u00a0\u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u043b\u044f view-\u043f\u0435\u0439\u0434\u0436\u0435\u0440\u0430.<\/p>\n \u0422\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u0412\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0432\u0438\u0434\u0435\u0442\u044c \u0432\u043a\u043b\u0430\u0434\u043a\u0438 \u0438 \u0441\u0432\u0430\u0439\u043f\u043e\u043c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c\u00a0\u043c\u0435\u0436\u0434\u0443 \u0432\u043a\u043b\u0430\u0434\u043a\u0430\u043c\u0438.<\/p>\n <\/span><\/a><\/p>\n \u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043a\u043b\u0430\u0434\u043a\u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0438\u00a0\u043f\u043e \u0448\u0438\u0440\u0438\u043d\u0435 \u0432\u0435\u0441\u044c \u044d\u043a\u0440\u0430\u043d, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u00a0\u00a0app:tabGravity=\u201dfill\u201d<\/em> \u0432 \u0432\u0430\u0448 TabLayout.<\/p>\n <\/span><\/a><\/p>\n \u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c\u00a0\u0432\u0430\u0448\u0438 \u0432\u043a\u043b\u0430\u0434\u043a\u0438 \u043f\u043e \u0446\u0435\u043d\u0442\u0440\u0443, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435\u00a0app:tabGravity=\u201dcenter\u201d<\/em> \u0434\u043b\u044f TabLayout.<\/p>\n <\/span><\/a><\/p>\n \u041f\u0440\u043e\u043a\u0440\u0443\u0447\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u0432\u043a\u043b\u0430\u0434\u043a\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u0443 \u0432\u0430\u0441 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u043a\u043b\u0430\u0434\u043e\u043a, \u0438 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u0435\u0441\u0442\u0430 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c\u00a0\u0432\u0441\u0435 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e. \u0427\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u043a\u043b\u0430\u0434\u043a\u0438\u00a0\u043f\u0440\u043e\u043a\u0440\u0443\u0447\u0438\u0432\u0430\u0435\u043c\u044b\u043c\u0438\u00a0, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 app:tabMode=\u201dscrollable\u201d\u00a0<\/em>\u0434\u043b\u044f TabLayout.<\/em><\/p>\n \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435\u00a0activity_main.xml<\/strong>\u00a0\u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0435\u00a0 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430\u00a0app:tabMode<\/em>\u00a0\u043d\u0430\u00a0scrollable<\/strong>.<\/p>\n \u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435\u00a0MainActivity.java<\/strong> \u0438 \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f ViewPager \u0432 \u043c\u0435\u0442\u043e\u0434\u0435\u00a0setupViewPager()<\/strong>. \u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043d\u0438\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\u00a010 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 ViewPager. \u041f\u043e\u0441\u043b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u00a0\u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0430\u043a\u0442\u0438\u0432\u0438\u0442\u0438\u00a0\u0434\u043e\u043b\u0436\u0435\u043d \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:<\/p>\n \u0422\u0435\u043f\u0435\u0440\u044c \u0435\u0441\u043b\u0438 \u0432\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u043a\u043b\u0430\u0434\u043e\u043a \u0441 \u043f\u043e\u043b\u043e\u0441\u043e\u0439 \u043f\u0440\u043e\u043a\u0440\u0443\u0442\u043a\u0438.<\/p>\n <\/span><\/a><\/p>\n \u0418\u043d\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e\u00a0\u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u043e\u043a \u043d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0443. \u0420\u0430\u043d\u0435\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u043a\u0430 \u043d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0443 \u0431\u044b\u043b\u043e\u00a0\u0442\u0440\u0443\u0434\u043e\u0435\u043c\u043a\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u043c. \u041d\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0441\u00a0\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0434\u0438\u0437\u0430\u0439\u043d\u0430 \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043b\u0435\u0433\u043a\u043e. \u0412\u0441\u0435, \u0447\u0442\u043e \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c — \u044d\u0442\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u043e\u0434 setIcon() , \u043f\u0435\u0440\u0435\u0434\u0430\u0432 \u0435\u043c\u0443 \u043d\u0443\u0436\u043d\u0443\u044e \u043f\u0438\u043a\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u0443. \u0417\u043d\u0430\u0447\u043e\u043a \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043c\u0435\u0449\u0435\u043d \u043f\u0435\u0440\u0435\u0434 \u0442\u0435\u043a\u0441\u0442\u043e\u043c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430\u00a0\u0432\u043a\u043b\u0430\u0434\u043a\u0438.<\/p>\n \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435\u00a0MainActivity.java<\/strong> \u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u043a\u043e\u0434, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0438\u0436\u0435. \u0417\u0434\u0435\u0441\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u00a0\u043d\u043e\u0432\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c setupTabIcons()<\/strong> \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b\u00a0\u0432\u0441\u0435 \u0437\u043d\u0430\u0447\u043a\u0438 \u0434\u043b\u044f \u0432\u043a\u043b\u0430\u0434\u043e\u043a.<\/p>\n <\/span><\/a><\/p>\n \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u043d\u0430\u0447\u043a\u0430 \u0434\u043b\u044f \u0432\u043a\u043b\u0430\u0434\u043a\u0438 \u0442\u0430\u043a\u0430\u044f \u0436\u0435, \u043a\u0430\u043a \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0442\u0435\u043a\u0441\u0442\u0430 \u0438 \u0437\u043d\u0430\u0447\u043a\u0430, \u0442\u043e\u043b\u044c\u043a\u043e\u00a0\u043c\u0435\u0442\u043e\u0434\u00a0getPageTitle()<\/em>\u00a0\u0432 \u043a\u043b\u0430\u0441\u0441\u0435 ViewPagerAdapter \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u00a0null<\/strong>\u00a0\u0432\u043c\u0435\u0441\u0442\u043e \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0438.<\/p>\n \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435\u00a0MainActivity.java<\/strong>\u00a0\u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u043c\u0435\u0442\u043e\u0434\u00a0getPageTitle()<\/strong>, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0438\u0436\u0435 \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430.<\/p>\n <\/span><\/a><\/p>\n \u0415\u0441\u043b\u0438\u00a0\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043c\u0430\u043a\u0435\u0442\u0430 \u0432\u043a\u043b\u0430\u0434\u043e\u043a \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e, \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043a\u0430\u0441\u0442\u043e\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u00a0 \u041f\u0440\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435\u00a0\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u043a\u043b\u0430\u0434\u043e\u043a, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438<\/a>\u00a0\u0430\u043d\u0434\u0440\u043e\u0438\u0434 \u0434\u043b\u044f \u0432\u043a\u043b\u0430\u0434\u043e\u043a.<\/p>\n \u041a\u043e\u0433\u0434\u0430 \u043d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0435 \u0437\u043d\u0430\u0447\u043e\u043a \u0438 \u0442\u0435\u043a\u0441\u0442, \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u043e\u043a \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d \u043d\u0430 \u043e\u0434\u043d\u043e\u0439\u00a0\u043b\u0438\u043d\u0438\u0438 \u0441 \u0442\u0435\u043a\u0441\u0442\u043e\u043c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0438. \u041d\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u043e\u043a \u043d\u0430\u0434 \u0442\u0435\u043a\u0441\u0442\u043e\u043c, \u0432\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c custom view \u00a0\u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e.<\/p>\n \u0412 \u043f\u0430\u043f\u043a\u0435\u00a0res \u21d2 values<\/strong>, \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435\u00a0xml \u0444\u0430\u0439\u043b \u0441 \u0438\u043c\u0435\u043d\u0435\u043c\u00a0fonts.xml<\/strong>\u00a0\u0438 \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435\u00a0\u0441\u0442\u0440\u043e\u043a\u0438, \u043a\u0430\u043a \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043d\u0438\u0436\u0435. \u042d\u0442\u043e\u0442 XML-\u0444\u0430\u0439\u043b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u043e \u0448\u0440\u0438\u0444\u0442\u043e\u0432 \u0434\u043b\u044f \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430.<\/p>\n \u0412 \u043f\u0430\u043f\u043a\u0435 res \u21d2 values-v21<\/strong>, \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0434\u0440\u0443\u0433\u043e\u0439 xml-\u0444\u0430\u0439\u043b \u0441 \u0438\u043c\u0435\u043d\u0435\u043c fonts.xml <\/strong>\u0438 \u0442\u0430\u043a\u0438\u043c \u043a\u043e\u0434\u043e\u043c:<\/p>\n \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435\u00a0activity_main.xml<\/strong> \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0443\u044e \u0432\u044b\u0441\u043e\u0442\u0443\u00a0custom_tab_layout_height. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0432\u044b\u0441\u043e\u0442\u044b \u0438\u043c\u0435\u0435\u0442 \u0432\u0430\u0436\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0442\u0430\u043a \u043a\u0430\u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u043d\u0430\u0447\u043a\u0430 \u0432\u044b\u0448\u0435 \u0442\u0435\u043a\u0441\u0442\u0430\u00a0\u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u043c\u0435\u0441\u0442\u0430, \u0447\u0435\u043c \u043e\u0431\u044b\u0447\u043d\u043e.<\/p>\n \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 xml-\u043c\u0430\u043a\u0435\u0442 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c custom_tab.xml<\/strong> \u0432 \u043f\u0430\u043f\u043a\u0435\u00a0res \u21d2 layout<\/strong>. \u0412 \u044d\u0442\u043e\u043c \u043c\u0430\u043a\u0435\u0442\u0435\u00a0\u043c\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c custom view \u0434\u043b\u044f \u0432\u043a\u043b\u0430\u0434\u043a\u0438.<\/p>\n \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435\u00a0MainActivity.java<\/strong>\u00a0\u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u043a\u043e\u0434, \u043a\u0430\u043a \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043d\u0438\u0436\u0435. \u0417\u0434\u0435\u0441\u044c, \u0435\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043c\u0435\u0442\u043e\u0434\u00a0setupTabIcons()<\/em>, \u043c\u044b \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u043c \u043c\u0430\u043a\u0435\u0442\u00a0custom_tab.xml<\/strong>\u00a0 \u043a\u0430\u0436\u0434\u043e\u0439 \u0432\u043a\u043b\u0430\u0434\u043a\u0435:<\/p>\n \u0422\u0435\u043f\u0435\u0440\u044c \u0435\u0441\u043b\u0438 \u0432\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0437\u043d\u0430\u0447\u043e\u043a \u043d\u0430\u0434 \u0442\u0435\u043a\u0441\u0442\u043e\u043c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0438.<\/p>\n\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u0441\u0442\u0438\u043b\u0435\u00a0Material Design<\/h2>\n
dependencies {\r\n compile fileTree(dir: 'libs', include: ['*.jar'])\r\n compile 'com.android.support:appcompat-v7:23.0.1'\r\n compile 'com.android.support:design:23.0.1'\r\n}<\/pre>\n
<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<resources>\r\n <color name=\"colorPrimary\">#125688<\/color>\r\n <color name=\"colorPrimaryDark\">#125688<\/color>\r\n <color name=\"textColorPrimary\">#FFFFFF<\/color>\r\n <color name=\"windowBackground\">#FFFFFF<\/color>\r\n <color name=\"navigationBarColor\">#000000<\/color>\r\n <color name=\"colorAccent\">#c8e8ff<\/color>\r\n<\/resources><\/pre>\n
dimens.xml\r\n<resources>\r\n <!-- Default screen margins, per the Android Design guidelines. -->\r\n <dimen name=\"activity_horizontal_margin\">16dp<\/dimen>\r\n <dimen name=\"activity_vertical_margin\">16dp<\/dimen>\r\n <dimen name=\"tab_max_width\">264dp<\/dimen>\r\n <dimen name=\"tab_padding_bottom\">16dp<\/dimen>\r\n <dimen name=\"tab_label\">14sp<\/dimen>\r\n <dimen name=\"custom_tab_layout_height\">72dp<\/dimen>\r\n<\/resources><\/pre>\n
<resources>\r\n \r\n <style name=\"MyMaterialTheme\" parent=\"MyMaterialTheme.Base\">\r\n \r\n <\/style>\r\n \r\n <style name=\"MyMaterialTheme.Base\" parent=\"Theme.AppCompat.Light.DarkActionBar\">\r\n <item name=\"windowNoTitle\">true<\/item>\r\n <item name=\"windowActionBar\">false<\/item>\r\n <item name=\"colorPrimary\">@color\/colorPrimary<\/item>\r\n <item name=\"colorPrimaryDark\">@color\/colorPrimaryDark<\/item>\r\n <item name=\"colorAccent\">@color\/colorAccent<\/item>\r\n <\/style>\r\n \r\n<\/resources><\/pre>\n
<resources>\r\n \r\n <style name=\"MyMaterialTheme\" parent=\"MyMaterialTheme.Base\">\r\n <item name=\"android:windowContentTransitions\">true<\/item>\r\n <item name=\"android:windowAllowEnterTransitionOverlap\">true<\/item>\r\n <item name=\"android:windowAllowReturnTransitionOverlap\">true<\/item>\r\n <item name=\"android:windowSharedElementEnterTransition\">@android:transition\/move<\/item>\r\n <item name=\"android:windowSharedElementExitTransition\">@android:transition\/move<\/item>\r\n <\/style>\r\n \r\n<\/resources><\/pre>\n
<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<manifest xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n package=\"info.androidhive.materialtabs\" >\r\n \r\n <application\r\n android:allowBackup=\"true\"\r\n android:icon=\"@mipmap\/ic_launcher\"\r\n android:label=\"@string\/app_name\"\r\n android:theme=\"@style\/MyMaterialTheme\" >\r\n <activity\r\n android:name=\".activity.MainActivity\"\r\n android:label=\"@string\/app_name\" >\r\n <intent-filter>\r\n <action android:name=\"android.intent.action.MAIN\" \/>\r\n \r\n <category android:name=\"android.intent.category.LAUNCHER\" \/>\r\n <\/intent-filter>\r\n <\/activity>\r\n <\/application>\r\n<\/manifest><\/pre>\n
import android.os.Bundle;\r\nimport android.support.v4.app.Fragment;\r\nimport android.view.LayoutInflater;\r\nimport android.view.View;\r\nimport android.view.ViewGroup;\r\n \r\nimport info.androidhive.materialtabs.R;\r\n \r\n \r\npublic class OneFragment extends Fragment{\r\n \r\n public OneFragment() {\r\n \/\/ Required empty public constructor\r\n }\r\n \r\n @Override\r\n public void onCreate(Bundle savedInstanceState) {\r\n super.onCreate(savedInstanceState);\r\n }\r\n \r\n @Override\r\n public View onCreateView(LayoutInflater inflater, ViewGroup container,\r\n Bundle savedInstanceState) {\r\n \/\/ Inflate the layout for this fragment\r\n return inflater.inflate(R.layout.fragment_one, container, false);\r\n }\r\n \r\n}<\/pre>\n
<RelativeLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n xmlns:tools=\"http:\/\/schemas.android.com\/tools\"\r\n android:layout_width=\"match_parent\"\r\n android:layout_height=\"match_parent\"\r\n tools:context=\"info.androidhive.materialtabs.fragments.OneFragment\">\r\n \r\n <TextView\r\n android:layout_width=\"wrap_content\"\r\n android:layout_height=\"wrap_content\"\r\n android:text=\"@string\/one\"\r\n android:textSize=\"40dp\"\r\n android:textStyle=\"bold\"\r\n android:layout_centerInParent=\"true\"\/>\r\n \r\n<\/RelativeLayout><\/pre>\n
\u0424\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u043a\u043b\u0430\u0434\u043a\u0438<\/h2>\n
<android.support.design.widget.CoordinatorLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"\r\n android:layout_width=\"match_parent\"\r\n android:layout_height=\"match_parent\">\r\n \r\n <android.support.design.widget.AppBarLayout\r\n android:layout_width=\"match_parent\"\r\n android:layout_height=\"wrap_content\"\r\n android:theme=\"@style\/ThemeOverlay.AppCompat.Dark.ActionBar\">\r\n \r\n <android.support.v7.widget.Toolbar\r\n android:id=\"@+id\/toolbar\"\r\n android:layout_width=\"match_parent\"\r\n android:layout_height=\"?attr\/actionBarSize\"\r\n android:background=\"?attr\/colorPrimary\"\r\n app:layout_scrollFlags=\"scroll|enterAlways\"\r\n app:popupTheme=\"@style\/ThemeOverlay.AppCompat.Light\" \/>\r\n \r\n <android.support.design.widget.TabLayout\r\n android:id=\"@+id\/tabs\"\r\n android:layout_width=\"match_parent\"\r\n android:layout_height=\"wrap_content\"\r\n app:tabMode=\"fixed\"\r\n app:tabGravity=\"fill\"\/>\r\n <\/android.support.design.widget.AppBarLayout>\r\n \r\n <android.support.v4.view.ViewPager\r\n android:id=\"@+id\/viewpager\"\r\n android:layout_width=\"match_parent\"\r\n android:layout_height=\"match_parent\"\r\n app:layout_behavior=\"@string\/appbar_scrolling_view_behavior\" \/>\r\n<\/android.support.design.widget.CoordinatorLayout><\/pre>\n
import android.os.Bundle;\r\nimport android.support.design.widget.TabLayout;\r\nimport android.support.v4.app.Fragment;\r\nimport android.support.v4.app.FragmentManager;\r\nimport android.support.v4.app.FragmentPagerAdapter;\r\nimport android.support.v4.view.ViewPager;\r\nimport android.support.v7.app.AppCompatActivity;\r\nimport android.support.v7.widget.Toolbar;\r\n \r\nimport java.util.ArrayList;\r\nimport java.util.List;\r\n \r\nimport info.androidhive.materialtabs.R;\r\nimport info.androidhive.materialtabs.fragments.OneFragment;\r\nimport info.androidhive.materialtabs.fragments.ThreeFragment;\r\nimport info.androidhive.materialtabs.fragments.TwoFragment;\r\n \r\npublic class MainActivity extends AppCompatActivity {\r\n \r\n private Toolbar toolbar;\r\n private TabLayout tabLayout;\r\n private ViewPager viewPager;\r\n \r\n @Override\r\n protected void onCreate(Bundle savedInstanceState) {\r\n super.onCreate(savedInstanceState);\r\n setContentView(R.layout.activity_main);\r\n \r\n toolbar = (Toolbar) findViewById(R.id.toolbar);\r\n setSupportActionBar(toolbar);\r\n \r\n getSupportActionBar().setDisplayHomeAsUpEnabled(true);\r\n \r\n viewPager = (ViewPager) findViewById(R.id.viewpager);\r\n setupViewPager(viewPager);\r\n \r\n tabLayout = (TabLayout) findViewById(R.id.tabs);\r\n tabLayout.setupWithViewPager(viewPager);\r\n }\r\n \r\n private void setupViewPager(ViewPager viewPager) {\r\n ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());\r\n adapter.addFragment(new OneFragment(), \"ONE\");\r\n adapter.addFragment(new TwoFragment(), \"TWO\");\r\n adapter.addFragment(new ThreeFragment(), \"THREE\");\r\n viewPager.setAdapter(adapter);\r\n }\r\n \r\n class ViewPagerAdapter extends FragmentPagerAdapter {\r\n private final List<Fragment> mFragmentList = new ArrayList<>();\r\n private final List<String> mFragmentTitleList = new ArrayList<>();\r\n \r\n public ViewPagerAdapter(FragmentManager manager) {\r\n super(manager);\r\n }\r\n \r\n @Override\r\n public Fragment getItem(int position) {\r\n return mFragmentList.get(position);\r\n }\r\n \r\n @Override\r\n public int getCount() {\r\n return mFragmentList.size();\r\n }\r\n \r\n public void addFragment(Fragment fragment, String title) {\r\n mFragmentList.add(fragment);\r\n mFragmentTitleList.add(title);\r\n }\r\n \r\n @Override\r\n public CharSequence getPageTitle(int position) {\r\n return mFragmentTitleList.get(position);\r\n }\r\n }\r\n}<\/pre>\n
\u0412\u043a\u043b\u0430\u0434\u043a\u0438, \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0438\u0435 \u0432\u0441\u044e \u0448\u0438\u0440\u0438\u043d\u0443 \u044d\u043a\u0440\u0430\u043d\u0430<\/h3>\n
\u0412\u043a\u043b\u0430\u0434\u043a\u0438, \u0432\u044b\u0440\u043e\u0432\u043d\u0435\u043d\u043d\u044b\u0435 \u043f\u043e \u0446\u0435\u043d\u0442\u0440\u0443<\/h3>\n
\u041f\u0440\u043e\u043a\u0440\u0443\u0447\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u0432\u043a\u043b\u0430\u0434\u043a\u0438<\/h2>\n
<android.support.design.widget.TabLayout\r\n android:id=\"@+id\/tabs\"\r\n android:layout_width=\"match_parent\"\r\n android:layout_height=\"wrap_content\"\r\n app:tabMode=\"scrollable\"\/><\/pre>\n
import android.os.Bundle;\r\nimport android.support.design.widget.TabLayout;\r\nimport android.support.v4.app.Fragment;\r\nimport android.support.v4.app.FragmentManager;\r\nimport android.support.v4.app.FragmentPagerAdapter;\r\nimport android.support.v4.view.ViewPager;\r\nimport android.support.v7.app.AppCompatActivity;\r\nimport android.support.v7.widget.Toolbar;\r\n \r\nimport java.util.ArrayList;\r\nimport java.util.List;\r\n \r\npublic class MainActivity extends AppCompatActivity {\r\n \r\n private Toolbar toolbar;\r\n private TabLayout tabLayout;\r\n private ViewPager viewPager;\r\n \r\n @Override\r\n protected void onCreate(Bundle savedInstanceState) {\r\n super.onCreate(savedInstanceState);\r\n setContentView(R.layout.activity_main);\r\n \r\n toolbar = (Toolbar) findViewById(R.id.toolbar);\r\n setSupportActionBar(toolbar);\r\n getSupportActionBar().setDisplayHomeAsUpEnabled(true);\r\n \r\n viewPager = (ViewPager) findViewById(R.id.viewpager);\r\n setupViewPager(viewPager);\r\n \r\n tabLayout = (TabLayout) findViewById(R.id.tabs);\r\n tabLayout.setupWithViewPager(viewPager);\r\n }\r\n \r\n private void setupViewPager(ViewPager viewPager) {\r\n ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());\r\n adapter.addFrag(new OneFragment(), \"ONE\");\r\n adapter.addFrag(new TwoFragment(), \"TWO\");\r\n adapter.addFrag(new ThreeFragment(), \"THREE\");\r\n adapter.addFrag(new FourFragment(), \"FOUR\");\r\n adapter.addFrag(new FiveFragment(), \"FIVE\");\r\n adapter.addFrag(new SixFragment(), \"SIX\");\r\n adapter.addFrag(new SevenFragment(), \"SEVEN\");\r\n adapter.addFrag(new EightFragment(), \"EIGHT\");\r\n adapter.addFrag(new NineFragment(), \"NINE\");\r\n adapter.addFrag(new TenFragment(), \"TEN\");\r\n viewPager.setAdapter(adapter);\r\n }\r\n \r\n class ViewPagerAdapter extends FragmentPagerAdapter {\r\n private final List<Fragment> mFragmentList = new ArrayList<>();\r\n private final List<String> mFragmentTitleList = new ArrayList<>();\r\n \r\n public ViewPagerAdapter(FragmentManager manager) {\r\n super(manager);\r\n }\r\n \r\n @Override\r\n public Fragment getItem(int position) {\r\n return mFragmentList.get(position);\r\n }\r\n \r\n @Override\r\n public int getCount() {\r\n return mFragmentList.size();\r\n }\r\n \r\n public void addFrag(Fragment fragment, String title) {\r\n mFragmentList.add(fragment);\r\n mFragmentTitleList.add(title);\r\n }\r\n \r\n @Override\r\n public CharSequence getPageTitle(int position) {\r\n return mFragmentTitleList.get(position);\r\n }\r\n }\r\n}<\/pre>\n
\u0412\u043a\u043b\u0430\u0434\u043a\u0438 \u0441 \u0438\u043a\u043e\u043d\u043a\u043e\u0439 \u0438\u00a0\u0442\u0435\u043a\u0441\u0442\u043e\u043c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430<\/h2>\n
tabLayout.getTabAt(0).setIcon(tabIcons[0]);\r\ntabLayout.getTabAt(1).setIcon(tabIcons[1]);<\/pre>\n
import android.os.Bundle;\r\nimport android.support.design.widget.TabLayout;\r\nimport android.support.v4.app.Fragment;\r\nimport android.support.v4.app.FragmentManager;\r\nimport android.support.v4.app.FragmentPagerAdapter;\r\nimport android.support.v4.view.ViewPager;\r\nimport android.support.v7.app.AppCompatActivity;\r\nimport android.support.v7.widget.Toolbar;\r\n \r\nimport java.util.ArrayList;\r\nimport java.util.List;\r\n \r\npublic class MainActivity extends AppCompatActivity {\r\n \r\n private Toolbar toolbar;\r\n private TabLayout tabLayout;\r\n private ViewPager viewPager;\r\n private int[] tabIcons = {\r\n R.drawable.ic_tab_favourite,\r\n R.drawable.ic_tab_call,\r\n R.drawable.ic_tab_contacts\r\n };\r\n \r\n @Override\r\n protected void onCreate(Bundle savedInstanceState) {\r\n super.onCreate(savedInstanceState);\r\n setContentView(R.layout.activity_main);\r\n \r\n toolbar = (Toolbar) findViewById(R.id.toolbar);\r\n setSupportActionBar(toolbar);\r\n getSupportActionBar().setDisplayHomeAsUpEnabled(true);\r\n \r\n viewPager = (ViewPager) findViewById(R.id.viewpager);\r\n setupViewPager(viewPager);\r\n \r\n tabLayout = (TabLayout) findViewById(R.id.tabs);\r\n tabLayout.setupWithViewPager(viewPager);\r\n setupTabIcons();\r\n }\r\n \r\n private void setupTabIcons() {\r\n tabLayout.getTabAt(0).setIcon(tabIcons[0]);\r\n tabLayout.getTabAt(1).setIcon(tabIcons[1]);\r\n tabLayout.getTabAt(2).setIcon(tabIcons[2]);\r\n }\r\n \r\n private void setupViewPager(ViewPager viewPager) {\r\n ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());\r\n adapter.addFrag(new OneFragment(), \"ONE\");\r\n adapter.addFrag(new TwoFragment(), \"TWO\");\r\n adapter.addFrag(new ThreeFragment(), \"THREE\");\r\n viewPager.setAdapter(adapter);\r\n }\r\n \r\n class ViewPagerAdapter extends FragmentPagerAdapter {\r\n private final List<Fragment> mFragmentList = new ArrayList<>();\r\n private final List<String> mFragmentTitleList = new ArrayList<>();\r\n \r\n public ViewPagerAdapter(FragmentManager manager) {\r\n super(manager);\r\n }\r\n \r\n @Override\r\n public Fragment getItem(int position) {\r\n return mFragmentList.get(position);\r\n }\r\n \r\n @Override\r\n public int getCount() {\r\n return mFragmentList.size();\r\n }\r\n \r\n public void addFrag(Fragment fragment, String title) {\r\n mFragmentList.add(fragment);\r\n mFragmentTitleList.add(title);\r\n }\r\n \r\n @Override\r\n public CharSequence getPageTitle(int position) {\r\n return mFragmentTitleList.get(position);\r\n }\r\n }\r\n}<\/pre>\n
\u0412\u043a\u043b\u0430\u0434\u043a\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e \u0437\u043d\u0430\u0447\u043a\u0430\u043c\u0438<\/h2>\n
@Override\r\npublic CharSequence getPageTitle(int position) {\r\n \r\n \/\/ return null to display only the icon\r\n return null;\r\n}<\/pre>\n
\u0417\u043d\u0430\u0447\u043e\u043a\u00a0\u0432\u043a\u043b\u0430\u0434\u043a\u0438 \u043d\u0430\u0434 \u0442\u0435\u043a\u0441\u0442\u043e\u043c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430<\/h2>\n
<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<resources>\r\n <string name=\"font_fontFamily_medium\">sans-serif<\/string>\r\n<\/resources><\/pre>\n
<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<resources>\r\n <string name=\"font_fontFamily_medium\">sans-serif-medium<\/string>\r\n<\/resources><\/pre>\n
<android.support.design.widget.TabLayout\r\n android:id=\"@+id\/tabs\"\r\n android:layout_width=\"match_parent\"\r\n android:layout_height=\"@dimen\/custom_tab_layout_height\"\r\n app:tabMode=\"fixed\"\r\n app:tabGravity=\"fill\"\/><\/pre>\n
<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<TextView xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n android:layout_width=\"wrap_content\"\r\n android:layout_height=\"wrap_content\"\r\n android:id=\"@+id\/tab\"\r\n android:textColor=\"@color\/colorAccent\"\r\n android:textSize=\"@dimen\/tab_label\"\r\n android:fontFamily=\"@string\/font_fontFamily_medium\"\/><\/pre>\n
TextView tabOne = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);\r\ntabOne.setText(\"ONE\");\r\ntabOne.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.ic_tab_favourite, 0, 0);\r\ntabLayout.getTabAt(0).setCustomView(tabOne);<\/pre>\n
import android.os.Bundle;\r\nimport android.support.design.widget.TabLayout;\r\nimport android.support.v4.app.Fragment;\r\nimport android.support.v4.app.FragmentManager;\r\nimport android.support.v4.app.FragmentPagerAdapter;\r\nimport android.support.v4.view.ViewPager;\r\nimport android.support.v7.app.AppCompatActivity;\r\nimport android.support.v7.widget.Toolbar;\r\nimport android.view.LayoutInflater;\r\nimport android.widget.TextView;\r\n \r\nimport java.util.ArrayList;\r\nimport java.util.List;\r\n \r\nimport info.androidhive.materialtabs.R;\r\nimport info.androidhive.materialtabs.fragments.OneFragment;\r\nimport info.androidhive.materialtabs.fragments.ThreeFragment;\r\nimport info.androidhive.materialtabs.fragments.TwoFragment;\r\n \r\npublic class MainActivity extends AppCompatActivity {\r\n \r\n private Toolbar toolbar;\r\n private TabLayout tabLayout;\r\n private ViewPager viewPager;\r\n private int[] tabIcons = {\r\n R.drawable.ic_tab_favourite,\r\n R.drawable.ic_tab_call,\r\n R.drawable.ic_tab_contacts\r\n };\r\n \r\n @Override\r\n protected void onCreate(Bundle savedInstanceState) {\r\n super.onCreate(savedInstanceState);\r\n setContentView(R.layout.activity_main);\r\n \r\n toolbar = (Toolbar) findViewById(R.id.toolbar);\r\n setSupportActionBar(toolbar);\r\n getSupportActionBar().setDisplayHomeAsUpEnabled(true);\r\n \r\n viewPager = (ViewPager) findViewById(R.id.viewpager);\r\n setupViewPager(viewPager);\r\n \r\n tabLayout = (TabLayout) findViewById(R.id.tabs);\r\n tabLayout.setupWithViewPager(viewPager);\r\n setupTabIcons();\r\n }\r\n \r\n private void setupTabIcons() {\r\n \r\n TextView tabOne = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);\r\n tabOne.setText(\"ONE\");\r\n tabOne.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.ic_tab_favourite, 0, 0);\r\n tabLayout.getTabAt(0).setCustomView(tabOne);\r\n \r\n TextView tabTwo = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);\r\n tabTwo.setText(\"TWO\");\r\n tabTwo.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.ic_tab_call, 0, 0);\r\n tabLayout.getTabAt(1).setCustomView(tabTwo);\r\n \r\n TextView tabThree = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);\r\n tabThree.setText(\"THREE\");\r\n tabThree.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.ic_tab_contacts, 0, 0);\r\n tabLayout.getTabAt(2).setCustomView(tabThree);\r\n }\r\n \r\n private void setupViewPager(ViewPager viewPager) {\r\n ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());\r\n adapter.addFrag(new OneFragment(), \"ONE\");\r\n adapter.addFrag(new TwoFragment(), \"TWO\");\r\n adapter.addFrag(new ThreeFragment(), \"THREE\");\r\n viewPager.setAdapter(adapter);\r\n }\r\n \r\n class ViewPagerAdapter extends FragmentPagerAdapter {\r\n private final List<Fragment> mFragmentList = new ArrayList<>();\r\n private final List<String> mFragmentTitleList = new ArrayList<>();\r\n \r\n public ViewPagerAdapter(FragmentManager manager) {\r\n super(manager);\r\n }\r\n \r\n @Override\r\n public Fragment getItem(int position) {\r\n return mFragmentList.get(position);\r\n }\r\n \r\n @Override\r\n public int getCount() {\r\n return mFragmentList.size();\r\n }\r\n \r\n public void addFrag(Fragment fragment, String title) {\r\n mFragmentList.add(fragment);\r\n mFragmentTitleList.add(title);\r\n }\r\n \r\n @Override\r\n public CharSequence getPageTitle(int position) {\r\n return mFragmentTitleList.get(position);\r\n }\r\n }\r\n}<\/pre>\n