├── .gitignore ├── .idea ├── .name ├── compiler.xml ├── copyright │ └── profiles_settings.xml ├── encodings.xml ├── gradle.xml ├── misc.xml ├── modules.xml ├── runConfigurations.xml └── vcs.xml ├── README.md ├── SupportDesignExample.iml ├── app ├── .gitignore ├── app.iml ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── thelittlenaruto │ │ └── supportdesignexample │ │ └── ApplicationTest.java │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── thelittlenaruto │ │ └── supportdesignexample │ │ ├── activity │ │ └── MainActivity.java │ │ ├── customview │ │ ├── MyNestedScrollView.java │ │ ├── NestedListView.java │ │ └── WrapContentHeightViewPager.java │ │ └── helper │ │ └── Cheeses.java │ └── res │ ├── drawable-hdpi │ ├── ic_action_photos.png │ └── ic_action_post.png │ ├── drawable-mdpi │ ├── ic_action_photos.png │ └── ic_action_post.png │ ├── drawable-nodpi │ └── empty_photo.png │ ├── drawable-v11 │ └── list_selector.xml │ ├── drawable-v21 │ └── list_selector.xml │ ├── drawable-xhdpi │ ├── ic_action_photos.png │ └── ic_action_post.png │ ├── drawable-xxhdpi │ ├── ic_action_photos.png │ └── ic_action_post.png │ ├── drawable │ └── naruto_hinata.png │ ├── layout │ ├── activity_main.xml │ ├── app_container_view.xml │ ├── app_header.xml │ └── fragment_pager_list.xml │ ├── menu │ └── navigation_menu.xml │ ├── mipmap-hdpi │ └── ic_launcher.png │ ├── mipmap-mdpi │ └── ic_launcher.png │ ├── mipmap-xhdpi │ └── ic_launcher.png │ ├── mipmap-xxhdpi │ └── ic_launcher.png │ ├── values-v21 │ └── styles.xml │ ├── values-w820dp │ └── dimens.xml │ └── values │ ├── colors.xml │ ├── dimens.xml │ ├── integers.xml │ ├── strings.xml │ └── styles.xml ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | /local.properties 3 | /.idea/workspace.xml 4 | /.idea/libraries 5 | .DS_Store 6 | /build 7 | /captures 8 | -------------------------------------------------------------------------------- /.idea/.name: -------------------------------------------------------------------------------- 1 | SupportDesignExample -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 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 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 19 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 19 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 46 | 47 | 48 | 49 | 50 | 1.7 51 | 52 | 57 | 58 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SupportDesignExample 2 | 3 | ![demo gif](http://i.stack.imgur.com/qKeaF.gif) 4 | -------------------------------------------------------------------------------- /SupportDesignExample.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/app.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 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 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 22 5 | buildToolsVersion "23.0.0 rc2" 6 | 7 | defaultConfig { 8 | applicationId "com.thelittlenaruto.supportdesignexample" 9 | minSdkVersion 11 10 | targetSdkVersion 22 11 | versionCode 1 12 | versionName "1.0" 13 | } 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 18 | } 19 | } 20 | } 21 | 22 | dependencies { 23 | compile fileTree(dir: 'libs', include: ['*.jar']) 24 | compile 'com.android.support:appcompat-v7:22.2.1' 25 | compile 'com.android.support:design:22.2.1' 26 | compile 'com.github.frankiesardo:linearlistview:1.0.1@aar' 27 | } 28 | -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in H:\Studio\sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /app/src/androidTest/java/com/thelittlenaruto/supportdesignexample/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package com.thelittlenaruto.supportdesignexample; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/java/com/thelittlenaruto/supportdesignexample/activity/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.thelittlenaruto.supportdesignexample.activity; 2 | 3 | import android.content.res.Configuration; 4 | import android.os.Bundle; 5 | import android.support.design.widget.CollapsingToolbarLayout; 6 | import android.support.design.widget.NavigationView; 7 | import android.support.design.widget.TabLayout; 8 | import android.support.v4.app.Fragment; 9 | import android.support.v4.app.FragmentManager; 10 | import android.support.v4.app.FragmentStatePagerAdapter; 11 | import android.support.v4.app.ListFragment; 12 | import android.support.v4.view.ViewPager; 13 | import android.support.v4.widget.DrawerLayout; 14 | import android.support.v7.app.ActionBar; 15 | import android.support.v7.app.ActionBarDrawerToggle; 16 | import android.support.v7.app.AppCompatActivity; 17 | import android.support.v7.widget.Toolbar; 18 | import android.util.Log; 19 | import android.view.LayoutInflater; 20 | import android.view.MenuItem; 21 | import android.view.View; 22 | import android.view.ViewGroup; 23 | import android.widget.AbsListView; 24 | import android.widget.ArrayAdapter; 25 | import android.widget.ListView; 26 | import android.widget.TextView; 27 | import com.thelittlenaruto.supportdesignexample.helper.Cheeses; 28 | import com.thelittlenaruto.supportdesignexample.R; 29 | 30 | 31 | /** 32 | * @author TheLittleNaruto 33 | * This is simple base calss of actvity which use to display posts and photos 34 | * MainActivity#NavigationView use for dispalying navigation drawer menu 35 | */ 36 | public class MainActivity extends AppCompatActivity { 37 | 38 | public static final String POST_FRAGMENT = "post_fragment"; 39 | public static final String PHOTO_FRAGMENT = "photo_fragment"; 40 | private DrawerLayout mDrawerLayout; 41 | private ActionBarDrawerToggle toggle; 42 | private TabLayout tabLayout; 43 | private MyAdapter mAdapter; 44 | 45 | @Override 46 | protected void onCreate(Bundle savedInstanceState) { 47 | super.onCreate(savedInstanceState); 48 | setContentView(R.layout.activity_main); 49 | Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 50 | setSupportActionBar(toolbar); 51 | ActionBar ab = getSupportActionBar(); 52 | ab.setDisplayHomeAsUpEnabled(true); 53 | 54 | CollapsingToolbarLayout toolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.toolbarCollapse); 55 | toolbarLayout.setTitle(getString(R.string.app_developer_name)); 56 | //NavigationView introduces in android support design lib please refer 57 | // http://android-developers.blogspot.in/2015/05/android-design-support-library.html 58 | NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); 59 | navigationView.setBackgroundColor(getResources().getColor(R.color.app_background_color)); 60 | mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 61 | toggle = new ActionBarDrawerToggle(this, mDrawerLayout, toolbar, R.string.open_drawer, R.string.close_drawer); 62 | mDrawerLayout.setDrawerListener(toggle); 63 | setupDrawerContent(navigationView); 64 | //By default add post fragment 65 | getSupportActionBar().setTitle(getString(R.string.nav_action_posts)); 66 | tabLayout = (TabLayout) findViewById(R.id.tabLayout); 67 | tabLayout.setTabGravity(TabLayout.GRAVITY_FILL); 68 | mAdapter = new MyAdapter(getSupportFragmentManager()); 69 | ViewPager mPager = (ViewPager) findViewById(R.id.viewPager); 70 | mPager.setAdapter(mAdapter); 71 | tabLayout.setupWithViewPager(mPager); 72 | } 73 | 74 | 75 | private void setupDrawerContent(NavigationView navigationView) { 76 | navigationView.setNavigationItemSelectedListener( 77 | new NavigationView.OnNavigationItemSelectedListener() { 78 | @Override 79 | public boolean onNavigationItemSelected(MenuItem menuItem) { 80 | mDrawerLayout.closeDrawers(); 81 | menuItem.setChecked(true); 82 | getSupportActionBar().setTitle(menuItem.getTitle()); 83 | return true; 84 | } 85 | }); 86 | } 87 | 88 | 89 | @Override 90 | protected void onPostCreate(Bundle savedInstanceState) { 91 | super.onPostCreate(savedInstanceState); 92 | toggle.syncState(); 93 | } 94 | 95 | @Override 96 | public void onConfigurationChanged(Configuration newConfig) { 97 | super.onConfigurationChanged(newConfig); 98 | toggle.onConfigurationChanged(newConfig); 99 | } 100 | 101 | 102 | public static class MyAdapter extends FragmentStatePagerAdapter { 103 | private static final int NUM_ITEMS = 4; 104 | 105 | public MyAdapter(FragmentManager fm) { 106 | super(fm); 107 | } 108 | 109 | @Override 110 | public int getCount() { 111 | return NUM_ITEMS; 112 | } 113 | 114 | @Override 115 | public Fragment getItem(int position) { 116 | return ArrayListFragment.newInstance(position); 117 | } 118 | 119 | @Override 120 | public CharSequence getPageTitle(int position) { 121 | return "Page " +( position + 1); 122 | } 123 | } 124 | 125 | public static class ArrayListFragment extends ListFragment { 126 | int mNum; 127 | 128 | /** 129 | * Create a new instance of CountingFragment, providing "num" 130 | * as an argument. 131 | */ 132 | static ArrayListFragment newInstance(int num) { 133 | ArrayListFragment f = new ArrayListFragment(); 134 | 135 | // Supply num input as an argument. 136 | Bundle args = new Bundle(); 137 | args.putInt("num", num + 1); 138 | f.setArguments(args); 139 | 140 | return f; 141 | } 142 | 143 | /** 144 | * When creating, retrieve this instance's number from its arguments. 145 | */ 146 | @Override 147 | public void onCreate(Bundle savedInstanceState) { 148 | super.onCreate(savedInstanceState); 149 | mNum = getArguments() != null ? getArguments().getInt("num") : 1; 150 | } 151 | 152 | /** 153 | * The Fragment's UI is just a simple text view showing its 154 | * instance number. 155 | */ 156 | @Override 157 | public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 158 | View v = inflater.inflate(R.layout.fragment_pager_list, container, false); 159 | 160 | return v; 161 | } 162 | 163 | @Override 164 | public void onActivityCreated(Bundle savedInstanceState) { 165 | super.onActivityCreated(savedInstanceState); 166 | AbsListView.LayoutParams params = new AbsListView.LayoutParams(AbsListView.LayoutParams.MATCH_PARENT, AbsListView.LayoutParams.WRAP_CONTENT); 167 | 168 | TextView textView = new TextView(getActivity()); 169 | textView.setPadding(16, 16, 16, 16); 170 | textView.setText("Fragment#" + mNum); 171 | textView.setLayoutParams(params); 172 | getListView().addHeaderView(textView); 173 | setListAdapter(new ArrayAdapter(getActivity(), 174 | android.R.layout.simple_list_item_1, Cheeses.sCheeseStrings)); 175 | } 176 | 177 | @Override 178 | public void onListItemClick(ListView l, View v, int position, long id) { 179 | Log.i("FragmentList", "Item clicked: " + id); 180 | } 181 | } 182 | } 183 | -------------------------------------------------------------------------------- /app/src/main/java/com/thelittlenaruto/supportdesignexample/customview/MyNestedScrollView.java: -------------------------------------------------------------------------------- 1 | package com.thelittlenaruto.supportdesignexample.customview; 2 | 3 | import android.content.Context; 4 | import android.support.v4.widget.NestedScrollView; 5 | import android.util.AttributeSet; 6 | import android.view.MotionEvent; 7 | import android.view.ViewConfiguration; 8 | 9 | /** 10 | * Created by TheLittleNaruto on 21-07-2015 at 18:28 11 | */ 12 | public class MyNestedScrollView extends NestedScrollView { 13 | private int slop; 14 | private float mInitialMotionX; 15 | private float mInitialMotionY; 16 | 17 | public MyNestedScrollView(Context context) { 18 | super(context); 19 | init(context); 20 | } 21 | 22 | private void init(Context context) { 23 | ViewConfiguration config = ViewConfiguration.get(context); 24 | slop = config.getScaledEdgeSlop(); 25 | } 26 | 27 | public MyNestedScrollView(Context context, AttributeSet attrs) { 28 | super(context, attrs); 29 | init(context); 30 | } 31 | 32 | public MyNestedScrollView(Context context, AttributeSet attrs, int defStyleAttr) { 33 | super(context, attrs, defStyleAttr); 34 | init(context); 35 | } 36 | 37 | 38 | private float xDistance, yDistance, lastX, lastY; 39 | 40 | @Override 41 | public boolean onInterceptTouchEvent(MotionEvent ev) { 42 | final float x = ev.getX(); 43 | final float y = ev.getY(); 44 | switch (ev.getAction()) { 45 | case MotionEvent.ACTION_DOWN: 46 | xDistance = yDistance = 0f; 47 | lastX = ev.getX(); 48 | lastY = ev.getY(); 49 | break; 50 | case MotionEvent.ACTION_MOVE: 51 | final float curX = ev.getX(); 52 | final float curY = ev.getY(); 53 | xDistance += Math.abs(curX - lastX); 54 | yDistance += Math.abs(curY - lastY); 55 | lastX = curX; 56 | lastY = curY; 57 | if (xDistance > yDistance) 58 | return false; 59 | } 60 | 61 | return super.onInterceptTouchEvent(ev) || ev.getPointerCount() == 2; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /app/src/main/java/com/thelittlenaruto/supportdesignexample/customview/NestedListView.java: -------------------------------------------------------------------------------- 1 | package com.thelittlenaruto.supportdesignexample.customview; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.view.MotionEvent; 6 | import android.view.View; 7 | import android.view.ViewGroup; 8 | import android.widget.AbsListView; 9 | import android.widget.ListAdapter; 10 | import android.widget.ListView; 11 | 12 | /** 13 | * Created by TheLittleNaruto on 21-07-2015 at 16:51 14 | */ 15 | public class NestedListView extends ListView { 16 | 17 | private static final int MAXIMUM_LIST_ITEMS_VIEWABLE = 99; 18 | 19 | public NestedListView(Context context, AttributeSet attrs) { 20 | super(context, attrs); 21 | } 22 | 23 | 24 | @Override 25 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 26 | super.onMeasure(widthMeasureSpec, heightMeasureSpec); 27 | 28 | int newHeight = 0; 29 | final int heightMode = MeasureSpec.getMode(heightMeasureSpec); 30 | int heightSize = MeasureSpec.getSize(heightMeasureSpec); 31 | if (heightMode != MeasureSpec.EXACTLY) { 32 | ListAdapter listAdapter = getAdapter(); 33 | if (listAdapter != null && !listAdapter.isEmpty()) { 34 | int listPosition = 0; 35 | for (listPosition = 0; listPosition < listAdapter.getCount() 36 | && listPosition < MAXIMUM_LIST_ITEMS_VIEWABLE; listPosition++) { 37 | View listItem = listAdapter.getView(listPosition, null, this); 38 | //now it will not throw a NPE if listItem is a ViewGroup instance 39 | if (listItem instanceof ViewGroup) { 40 | listItem.setLayoutParams(new LayoutParams( 41 | LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 42 | } 43 | listItem.measure(widthMeasureSpec, heightMeasureSpec); 44 | newHeight += listItem.getMeasuredHeight(); 45 | } 46 | newHeight += getDividerHeight() * listPosition; 47 | } 48 | if ((heightMode == MeasureSpec.AT_MOST) && (newHeight > heightSize)) { 49 | if (newHeight > heightSize) { 50 | newHeight = heightSize; 51 | } 52 | } 53 | } else { 54 | newHeight = getMeasuredHeight(); 55 | } 56 | setMeasuredDimension(getMeasuredWidth(), newHeight); 57 | } 58 | 59 | 60 | } 61 | -------------------------------------------------------------------------------- /app/src/main/java/com/thelittlenaruto/supportdesignexample/customview/WrapContentHeightViewPager.java: -------------------------------------------------------------------------------- 1 | package com.thelittlenaruto.supportdesignexample.customview; 2 | 3 | import android.content.Context; 4 | import android.support.v4.view.ViewPager; 5 | import android.util.AttributeSet; 6 | import android.view.View; 7 | 8 | /** 9 | * Created by TheLittleNaruto on 21-07-2015 at 16:51 10 | */ 11 | public class WrapContentHeightViewPager extends ViewPager { 12 | public WrapContentHeightViewPager(Context context) { 13 | super(context); 14 | } 15 | 16 | public WrapContentHeightViewPager(Context context, AttributeSet attrs) { 17 | super(context, attrs); 18 | } 19 | 20 | @Override 21 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 22 | super.onMeasure(widthMeasureSpec, heightMeasureSpec); 23 | 24 | int height = 0; 25 | for (int i = 0; i < getChildCount(); i++) { 26 | View child = getChildAt(i); 27 | child.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); 28 | int h = child.getMeasuredHeight(); 29 | if (h > height) height = h; 30 | } 31 | heightMeasureSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY); 32 | super.onMeasure(widthMeasureSpec, heightMeasureSpec); 33 | } 34 | } -------------------------------------------------------------------------------- /app/src/main/java/com/thelittlenaruto/supportdesignexample/helper/Cheeses.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.thelittlenaruto.supportdesignexample.helper; 18 | 19 | public class Cheeses { 20 | 21 | public static final String[] sCheeseStrings = { 22 | "Abbaye de Belloc", "Abbaye du Mont des Cats", "Abertam", "Abondance", "Ackawi", 23 | "Acorn", "Adelost", "Affidelice au Chablis", "Afuega'l Pitu", "Airag", "Airedale", 24 | "Aisy Cendre", "Allgauer Emmentaler", "Alverca", "Ambert", "American Cheese", 25 | "Ami du Chambertin", "Anejo Enchilado", "Anneau du Vic-Bilh", "Anthoriro", "Appenzell", 26 | "Aragon", "Ardi Gasna", "Ardrahan", "Armenian String", "Aromes au Gene de Marc", 27 | "Asadero", "Asiago", "Aubisque Pyrenees", "Autun", "Avaxtskyr", "Baby Swiss", 28 | "Babybel", "Baguette Laonnaise", "Bakers", "Baladi", "Balaton", "Bandal", "Banon", 29 | "Barry's Bay Cheddar", "Basing", "Basket Cheese", "Bath Cheese", "Bavarian Bergkase", 30 | "Baylough", "Beaufort", "Beauvoorde", "Beenleigh Blue", "Beer Cheese", "Bel Paese", 31 | "Bergader", "Bergere Bleue", "Berkswell", "Beyaz Peynir", "Bierkase", "Bishop Kennedy", 32 | "Blarney", "Bleu d'Auvergne", "Bleu de Gex", "Bleu de Laqueuille", 33 | "Bleu de Septmoncel", "Bleu Des Causses", "Blue", "Blue Castello", "Blue Rathgore", 34 | "Blue Vein (Australian)", "Blue Vein Cheeses", "Bocconcini", "Bocconcini (Australian)", 35 | "Boeren Leidenkaas", "Bonchester", "Bosworth", "Bougon", "Boule Du Roves", 36 | "Boulette d'Avesnes", "Boursault", "Boursin", "Bouyssou", "Bra", "Braudostur", 37 | "Breakfast Cheese", "Brebis du Lavort", "Brebis du Lochois", "Brebis du Puyfaucon", 38 | "Bresse Bleu", "Brick", "Brie", "Brie de Meaux", "Brie de Melun", "Brillat-Savarin", 39 | "Brin", "Brin d' Amour", "Brin d'Amour", "Brinza (Burduf Brinza)", 40 | "Briquette de Brebis", "Briquette du Forez", "Broccio", "Broccio Demi-Affine", 41 | "Brousse du Rove", "Bruder Basil", "Brusselae Kaas (Fromage de Bruxelles)", "Bryndza", 42 | "Buchette d'Anjou", "Buffalo", "Burgos", "Butte", "Butterkase", "Button (Innes)", 43 | "Buxton Blue", "Cabecou", "Caboc", "Cabrales", "Cachaille", "Caciocavallo", "Caciotta", 44 | "Caerphilly", "Cairnsmore", "Calenzana", "Cambazola", "Camembert de Normandie", 45 | "Canadian Cheddar", "Canestrato", "Cantal", "Caprice des Dieux", "Capricorn Goat", 46 | "Capriole Banon", "Carre de l'Est", "Casciotta di Urbino", "Cashel Blue", "Castellano", 47 | "Castelleno", "Castelmagno", "Castelo Branco", "Castigliano", "Cathelain", 48 | "Celtic Promise", "Cendre d'Olivet", "Cerney", "Chabichou", "Chabichou du Poitou", 49 | "Chabis de Gatine", "Chaource", "Charolais", "Chaumes", "Cheddar", 50 | "Cheddar Clothbound", "Cheshire", "Chevres", "Chevrotin des Aravis", "Chontaleno", 51 | "Civray", "Coeur de Camembert au Calvados", "Coeur de Chevre", "Colby", "Cold Pack", 52 | "Comte", "Coolea", "Cooleney", "Coquetdale", "Corleggy", "Cornish Pepper", 53 | "Cotherstone", "Cotija", "Cottage Cheese", "Cottage Cheese (Australian)", 54 | "Cougar Gold", "Coulommiers", "Coverdale", "Crayeux de Roncq", "Cream Cheese", 55 | "Cream Havarti", "Crema Agria", "Crema Mexicana", "Creme Fraiche", "Crescenza", 56 | "Croghan", "Crottin de Chavignol", "Crottin du Chavignol", "Crowdie", "Crowley", 57 | "Cuajada", "Curd", "Cure Nantais", "Curworthy", "Cwmtawe Pecorino", 58 | "Cypress Grove Chevre", "Danablu (Danish Blue)", "Danbo", "Danish Fontina", 59 | "Daralagjazsky", "Dauphin", "Delice des Fiouves", "Denhany Dorset Drum", "Derby", 60 | "Dessertnyj Belyj", "Devon Blue", "Devon Garland", "Dolcelatte", "Doolin", 61 | "Doppelrhamstufel", "Dorset Blue Vinney", "Double Gloucester", "Double Worcester", 62 | "Dreux a la Feuille", "Dry Jack", "Duddleswell", "Dunbarra", "Dunlop", "Dunsyre Blue", 63 | "Duroblando", "Durrus", "Dutch Mimolette (Commissiekaas)", "Edam", "Edelpilz", 64 | "Emental Grand Cru", "Emlett", "Emmental", "Epoisses de Bourgogne", "Esbareich", 65 | "Esrom", "Etorki", "Evansdale Farmhouse Brie", "Evora De L'Alentejo", "Exmoor Blue", 66 | "Explorateur", "Feta", "Feta (Australian)", "Figue", "Filetta", "Fin-de-Siecle", 67 | "Finlandia Swiss", "Finn", "Fiore Sardo", "Fleur du Maquis", "Flor de Guia", 68 | "Flower Marie", "Folded", "Folded cheese with mint", "Fondant de Brebis", 69 | "Fontainebleau", "Fontal", "Fontina Val d'Aosta", "Formaggio di capra", "Fougerus", 70 | "Four Herb Gouda", "Fourme d' Ambert", "Fourme de Haute Loire", "Fourme de Montbrison", 71 | "Fresh Jack", "Fresh Mozzarella", "Fresh Ricotta", "Fresh Truffles", "Fribourgeois", 72 | "Friesekaas", "Friesian", "Friesla", "Frinault", "Fromage a Raclette", "Fromage Corse", 73 | "Fromage de Montagne de Savoie", "Fromage Frais", "Fruit Cream Cheese", 74 | "Frying Cheese", "Fynbo", "Gabriel", "Galette du Paludier", "Galette Lyonnaise", 75 | "Galloway Goat's Milk Gems", "Gammelost", "Gaperon a l'Ail", "Garrotxa", "Gastanberra", 76 | "Geitost", "Gippsland Blue", "Gjetost", "Gloucester", "Golden Cross", "Gorgonzola", 77 | "Gornyaltajski", "Gospel Green", "Gouda", "Goutu", "Gowrie", "Grabetto", "Graddost", 78 | "Grafton Village Cheddar", "Grana", "Grana Padano", "Grand Vatel", 79 | "Grataron d' Areches", "Gratte-Paille", "Graviera", "Greuilh", "Greve", 80 | "Gris de Lille", "Gruyere", "Gubbeen", "Guerbigny", "Halloumi", 81 | "Halloumy (Australian)", "Haloumi-Style Cheese", "Harbourne Blue", "Havarti", 82 | "Heidi Gruyere", "Hereford Hop", "Herrgardsost", "Herriot Farmhouse", "Herve", 83 | "Hipi Iti", "Hubbardston Blue Cow", "Hushallsost", "Iberico", "Idaho Goatster", 84 | "Idiazabal", "Il Boschetto al Tartufo", "Ile d'Yeu", "Isle of Mull", "Jarlsberg", 85 | "Jermi Tortes", "Jibneh Arabieh", "Jindi Brie", "Jubilee Blue", "Juustoleipa", 86 | "Kadchgall", "Kaseri", "Kashta", "Kefalotyri", "Kenafa", "Kernhem", "Kervella Affine", 87 | "Kikorangi", "King Island Cape Wickham Brie", "King River Gold", "Klosterkaese", 88 | "Knockalara", "Kugelkase", "L'Aveyronnais", "L'Ecir de l'Aubrac", "La Taupiniere", 89 | "La Vache Qui Rit", "Laguiole", "Lairobell", "Lajta", "Lanark Blue", "Lancashire", 90 | "Langres", "Lappi", "Laruns", "Lavistown", "Le Brin", "Le Fium Orbo", "Le Lacandou", 91 | "Le Roule", "Leafield", "Lebbene", "Leerdammer", "Leicester", "Leyden", "Limburger", 92 | "Lincolnshire Poacher", "Lingot Saint Bousquet d'Orb", "Liptauer", "Little Rydings", 93 | "Livarot", "Llanboidy", "Llanglofan Farmhouse", "Loch Arthur Farmhouse", 94 | "Loddiswell Avondale", "Longhorn", "Lou Palou", "Lou Pevre", "Lyonnais", "Maasdam", 95 | "Macconais", "Mahoe Aged Gouda", "Mahon", "Malvern", "Mamirolle", "Manchego", 96 | "Manouri", "Manur", "Marble Cheddar", "Marbled Cheeses", "Maredsous", "Margotin", 97 | "Maribo", "Maroilles", "Mascares", "Mascarpone", "Mascarpone (Australian)", 98 | "Mascarpone Torta", "Matocq", "Maytag Blue", "Meira", "Menallack Farmhouse", 99 | "Menonita", "Meredith Blue", "Mesost", "Metton (Cancoillotte)", "Meyer Vintage Gouda", 100 | "Mihalic Peynir", "Milleens", "Mimolette", "Mine-Gabhar", "Mini Baby Bells", "Mixte", 101 | "Molbo", "Monastery Cheeses", "Mondseer", "Mont D'or Lyonnais", "Montasio", 102 | "Monterey Jack", "Monterey Jack Dry", "Morbier", "Morbier Cru de Montagne", 103 | "Mothais a la Feuille", "Mozzarella", "Mozzarella (Australian)", 104 | "Mozzarella di Bufala", "Mozzarella Fresh, in water", "Mozzarella Rolls", "Munster", 105 | "Murol", "Mycella", "Myzithra", "Naboulsi", "Nantais", "Neufchatel", 106 | "Neufchatel (Australian)", "Niolo", "Nokkelost", "Northumberland", "Oaxaca", 107 | "Olde York", "Olivet au Foin", "Olivet Bleu", "Olivet Cendre", 108 | "Orkney Extra Mature Cheddar", "Orla", "Oschtjepka", "Ossau Fermier", "Ossau-Iraty", 109 | "Oszczypek", "Oxford Blue", "P'tit Berrichon", "Palet de Babligny", "Paneer", "Panela", 110 | "Pannerone", "Pant ys Gawn", "Parmesan (Parmigiano)", "Parmigiano Reggiano", 111 | "Pas de l'Escalette", "Passendale", "Pasteurized Processed", "Pate de Fromage", 112 | "Patefine Fort", "Pave d'Affinois", "Pave d'Auge", "Pave de Chirac", "Pave du Berry", 113 | "Pecorino", "Pecorino in Walnut Leaves", "Pecorino Romano", "Peekskill Pyramid", 114 | "Pelardon des Cevennes", "Pelardon des Corbieres", "Penamellera", "Penbryn", 115 | "Pencarreg", "Perail de Brebis", "Petit Morin", "Petit Pardou", "Petit-Suisse", 116 | "Picodon de Chevre", "Picos de Europa", "Piora", "Pithtviers au Foin", 117 | "Plateau de Herve", "Plymouth Cheese", "Podhalanski", "Poivre d'Ane", "Polkolbin", 118 | "Pont l'Eveque", "Port Nicholson", "Port-Salut", "Postel", "Pouligny-Saint-Pierre", 119 | "Pourly", "Prastost", "Pressato", "Prince-Jean", "Processed Cheddar", "Provolone", 120 | "Provolone (Australian)", "Pyengana Cheddar", "Pyramide", "Quark", 121 | "Quark (Australian)", "Quartirolo Lombardo", "Quatre-Vents", "Quercy Petit", 122 | "Queso Blanco", "Queso Blanco con Frutas --Pina y Mango", "Queso de Murcia", 123 | "Queso del Montsec", "Queso del Tietar", "Queso Fresco", "Queso Fresco (Adobera)", 124 | "Queso Iberico", "Queso Jalapeno", "Queso Majorero", "Queso Media Luna", 125 | "Queso Para Frier", "Queso Quesadilla", "Rabacal", "Raclette", "Ragusano", "Raschera", 126 | "Reblochon", "Red Leicester", "Regal de la Dombes", "Reggianito", "Remedou", 127 | "Requeson", "Richelieu", "Ricotta", "Ricotta (Australian)", "Ricotta Salata", "Ridder", 128 | "Rigotte", "Rocamadour", "Rollot", "Romano", "Romans Part Dieu", "Roncal", "Roquefort", 129 | "Roule", "Rouleau De Beaulieu", "Royalp Tilsit", "Rubens", "Rustinu", "Saaland Pfarr", 130 | "Saanenkaese", "Saga", "Sage Derby", "Sainte Maure", "Saint-Marcellin", 131 | "Saint-Nectaire", "Saint-Paulin", "Salers", "Samso", "San Simon", "Sancerre", 132 | "Sap Sago", "Sardo", "Sardo Egyptian", "Sbrinz", "Scamorza", "Schabzieger", "Schloss", 133 | "Selles sur Cher", "Selva", "Serat", "Seriously Strong Cheddar", "Serra da Estrela", 134 | "Sharpam", "Shelburne Cheddar", "Shropshire Blue", "Siraz", "Sirene", "Smoked Gouda", 135 | "Somerset Brie", "Sonoma Jack", "Sottocenare al Tartufo", "Soumaintrain", 136 | "Sourire Lozerien", "Spenwood", "Sraffordshire Organic", "St. Agur Blue Cheese", 137 | "Stilton", "Stinking Bishop", "String", "Sussex Slipcote", "Sveciaost", "Swaledale", 138 | "Sweet Style Swiss", "Swiss", "Syrian (Armenian String)", "Tala", "Taleggio", "Tamie", 139 | "Tasmania Highland Chevre Log", "Taupiniere", "Teifi", "Telemea", "Testouri", 140 | "Tete de Moine", "Tetilla", "Texas Goat Cheese", "Tibet", "Tillamook Cheddar", 141 | "Tilsit", "Timboon Brie", "Toma", "Tomme Brulee", "Tomme d'Abondance", 142 | "Tomme de Chevre", "Tomme de Romans", "Tomme de Savoie", "Tomme des Chouans", "Tommes", 143 | "Torta del Casar", "Toscanello", "Touree de L'Aubier", "Tourmalet", 144 | "Trappe (Veritable)", "Trois Cornes De Vendee", "Tronchon", "Trou du Cru", "Truffe", 145 | "Tupi", "Turunmaa", "Tymsboro", "Tyn Grug", "Tyning", "Ubriaco", "Ulloa", 146 | "Vacherin-Fribourgeois", "Valencay", "Vasterbottenost", "Venaco", "Vendomois", 147 | "Vieux Corse", "Vignotte", "Vulscombe", "Waimata Farmhouse Blue", 148 | "Washed Rind Cheese (Australian)", "Waterloo", "Weichkaese", "Wellington", 149 | "Wensleydale", "White Stilton", "Whitestone Farmhouse", "Wigmore", "Woodside Cabecou", 150 | "Xanadu", "Xynotyro", "Yarg Cornish", "Yarra Valley Pyramid", "Yorkshire Blue", 151 | "Zamorano", "Zanetti Grana Padano", "Zanetti Parmigiano Reggiano" 152 | }; 153 | 154 | } 155 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_photos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheLittleNaruto/SupportDesignExample/8bbe720dc1cfcd37dc423ca6bcf8722f08863f38/app/src/main/res/drawable-hdpi/ic_action_photos.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_post.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheLittleNaruto/SupportDesignExample/8bbe720dc1cfcd37dc423ca6bcf8722f08863f38/app/src/main/res/drawable-hdpi/ic_action_post.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_photos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheLittleNaruto/SupportDesignExample/8bbe720dc1cfcd37dc423ca6bcf8722f08863f38/app/src/main/res/drawable-mdpi/ic_action_photos.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_post.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheLittleNaruto/SupportDesignExample/8bbe720dc1cfcd37dc423ca6bcf8722f08863f38/app/src/main/res/drawable-mdpi/ic_action_post.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/empty_photo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheLittleNaruto/SupportDesignExample/8bbe720dc1cfcd37dc423ca6bcf8722f08863f38/app/src/main/res/drawable-nodpi/empty_photo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-v11/list_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/list_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_photos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheLittleNaruto/SupportDesignExample/8bbe720dc1cfcd37dc423ca6bcf8722f08863f38/app/src/main/res/drawable-xhdpi/ic_action_photos.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_post.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheLittleNaruto/SupportDesignExample/8bbe720dc1cfcd37dc423ca6bcf8722f08863f38/app/src/main/res/drawable-xhdpi/ic_action_post.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_photos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheLittleNaruto/SupportDesignExample/8bbe720dc1cfcd37dc423ca6bcf8722f08863f38/app/src/main/res/drawable-xxhdpi/ic_action_photos.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_post.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheLittleNaruto/SupportDesignExample/8bbe720dc1cfcd37dc423ca6bcf8722f08863f38/app/src/main/res/drawable-xxhdpi/ic_action_post.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/naruto_hinata.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheLittleNaruto/SupportDesignExample/8bbe720dc1cfcd37dc423ca6bcf8722f08863f38/app/src/main/res/drawable/naruto_hinata.png -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/layout/app_container_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 14 | 15 | 21 | 22 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 38 | 39 | 46 | 47 | 54 | 55 | 56 | 61 | 62 | 63 | 64 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /app/src/main/res/layout/app_header.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_pager_list.xml: -------------------------------------------------------------------------------- 1 | 15 | 16 | 17 | 18 | 19 | 21 | 26 | 29 | 34 | 35 | 36 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /app/src/main/res/menu/navigation_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 11 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheLittleNaruto/SupportDesignExample/8bbe720dc1cfcd37dc423ca6bcf8722f08863f38/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheLittleNaruto/SupportDesignExample/8bbe720dc1cfcd37dc423ca6bcf8722f08863f38/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheLittleNaruto/SupportDesignExample/8bbe720dc1cfcd37dc423ca6bcf8722f08863f38/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheLittleNaruto/SupportDesignExample/8bbe720dc1cfcd37dc423ca6bcf8722f08863f38/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | @color/primary 9 | @color/primary_dark 10 | @color/accent 11 | #80388E3C 12 | #ffffffff 13 | 14 | 15 | #4CAF50 16 | #388E3C 17 | 18 | #ff5722 19 | #212121 20 | #727272 21 | 22 | 23 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values/integers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1 5 | 2 6 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | SupportDesignExample 3 | 4 | Posts 5 | Photos 6 | Open drawer 7 | Close drawer 8 | No Data found ! 9 | TheLittleNaruto 10 | Comments 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 18 | 19 |