Android Restaurant Template
	
	
		
	
	
	
	
	
	
	
	
	Type of Logo is font "fonts/chef.ttf"
	The title of logo change according to name of app in manifest
	The animation in Title based on Library of (TitanicTextView)
	MainActivity.java
	
	
	
	 
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        handler = new Handler();
        title_logo = (TitanicTextView) findViewById(R.id.logo_title);
        TitanicTextView logo_text = (TitanicTextView ) findViewById(R.id.logo_Text);
        logo_text.setTypeface(Typefaces.get(this, "fonts/chef.ttf"));
        title_logo.setTypeface(Typefaces.get(this, "fonts/YummyCupcakes.ttf"));
        title_logo.setText(R.string.app_name);
        logo_text.setText(title_logo.getText().toString().substring(0,1));
        new Titanic().start(logo_text,MainActivity.this);
        new Titanic().start(title_logo,MainActivity.this);
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                        startActivity(generateIntent(R.color.black_trans));
                finish();
            }
        }, 3000+100);
    }
	 
	
	Beautifule Thickness Indicator
	Custom Sliding Tabs Strip
	Hiding Toolbar during Scrolling Recyclerview
	MainActivity.java
	
	
	
	 
	
	
	demo_indicator_trick1.xml
	
<design.template.restaurant.app.TabLayout.SmartTabLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/viewpagertab"
    android:layout_width="match_parent"
    android:layout_height="?android:attr/actionBarSize"
    android:clipToPadding="false"
    android:paddingLeft="4dp"
    android:paddingRight="4dp"
    app:stl_defaultTabTextColor="@color/white"
    app:stl_defaultTabTextHorizontalPadding="10dp"
    app:stl_dividerColor="@color/transparent"
    app:stl_dividerThickness="0dp"
    app:stl_indicatorColor="@color/black_20"
    app:stl_indicatorCornerRadius="18dp"
    app:stl_indicatorInterpolation="smart"
    app:stl_indicatorGravity="center"
    app:stl_indicatorThickness="38dp"
    app:stl_underlineColor="@color/transparent"
    app:stl_underlineThickness="0dp"
    app:stl_indicatorInFront="true"
    app:stl_indicatorWidth="auto"
    android:layout_gravity="center"
    app:stl_distributeEvenly="true"
    android:paddingTop="2dp"
    android:paddingBottom="2dp"
    />
	 
	
	
HomeActivity.java
  @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_fragments);
        setupToolbar();
        mLeftDrawerLayout = (LeftDrawerLayout) findViewById(R.id.id_drawerlayout);
      //  rvFeed = (RecyclerView) findViewById(R.id.rvFeed);
        FragmentManager fm = getSupportFragmentManager();
        MyMenuFragment mMenuFragment = (MyMenuFragment) fm.findFragmentById(R.id.id_container_menu);
        FlowingView mFlowingView = (FlowingView) findViewById(R.id.sv);
        if (mMenuFragment == null) {
            fm.beginTransaction().add(R.id.id_container_menu, mMenuFragment = new MyMenuFragment()).commit();
        }
        mLeftDrawerLayout.setFluidView(mFlowingView);
        mLeftDrawerLayout.setMenuFragment(mMenuFragment);
  //  setupFeed();
        ViewGroup tab = (ViewGroup) findViewById(R.id.tab);
        tab.addView(LayoutInflater.from(this).inflate(R.layout.demo_indicator_trick1, tab, false));
        ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
        SmartTabLayout viewPagerTab = (SmartTabLayout) findViewById(R.id.viewpagertab);
       viewPagerTab.setCustomTabView(R.layout.custom_tab_text_layout,R.id.custom_text);
      //  demo.setup(viewPagerTab);
        FragmentPagerItems pages = new FragmentPagerItems(this);
    //    for (int titleResId : tab10()) {
     pages.add(FragmentPagerItem.of(getString(tab10()[0]),MenuFragment.class));
        pages.add(FragmentPagerItem.of(getString(tab10()[2]),SpecialOffers.class));
        pages.add(FragmentPagerItem.of(getString(tab10()[1]),DemoFragment.class));
        //  }
        FragmentPagerItemAdapter adapter = new FragmentPagerItemAdapter(
                getSupportFragmentManager(), pages);
        viewPager.setAdapter(adapter);
        viewPagerTab.setViewPager(viewPager);
    }
	 
	
	
	LabelImageView Discount in 	meal_day_item_view.xml
	
        <design.template.restaurant.app.Views.LabelImageView
            android:id="@+id/url_image_meal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:scaleType="centerCrop"
            android:src="@drawable/chicken_meal_photo"
            android:adjustViewBounds="true"
            />
	Like Animation 
You should SmallBang to be attach2Window  
MealAdapter.java 
	
	
	private SmallBang mSmallBang;
	.
	.
	.
        mSmallBang = SmallBang.attach2Window(context);
		
		....
		...
		.....
		
		            view.setImageResource(R.drawable.heart);
            mSmallBang.bang(imageView);
        ...
        .....
        ......
	
	
	
	
	Badge Price Animation inspired by drage item to order
	
	
	meal_day_item_view.xml
	
            <design.template.restaurant.app.BadgeView.BGABadgeTextView
                android:id="@+id/badgePrice"
                style="@style/MatchWrap"
                android:layout_marginTop="5dp"
                android:padding="15dp"
                android:textColor="@android:color/black"
                app:badge_dragable="true"
                app:badge_padding="15dp"
                android:layout_gravity="left"
                android:gravity="left"
                app:badge_textSize="20dp"
                />
	MealAdapter.java 
	
	
       BGABadgeTextView     badgePrice = (BGABadgeTextView)itemView.findViewById(R.id.badgePrice);
	.
	.
	.
	   badgePrice.setDragDismissDelegage(new BGADragDismissDelegate() {
                @Override
                public void onDismiss(BGABadgeable badgeable) {
                    int position = getAdapterPosition();
                    if (listener != null) {
                        listener.itemSelected(badgeable.getRootView(), getAdapterPosition());
                    }
                    ToastUtil.show(list.get(position).getMeal_name());
                }
            });
		...
		.....
		
		      
        ...
        .....
        ......
	
	
	
	
	
	
	
	fragment_special_offers_demo.xml
	
	
<design.template.restaurant.app.PullToRefresh.BeautifulRefreshLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:id="@+id/refresh"
        android:layout_height="match_parent">
    <android.support.v7.widget.RecyclerView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/rvFeed"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />
</design.template.restaurant.app.PullToRefresh.BeautifulRefreshLayout>
	 
SpecialOffers.java
	 BeautifulRefreshLayout beautifulRefreshLayout = (BeautifulRefreshLayout) view1.findViewById(R.id.refresh);
      beautifulRefreshLayout.setBuautifulRefreshListener(new BeautifulRefreshLayout.BuautifulRefreshListener() {
          @Override
          public void onRefresh(final BeautifulRefreshLayout refreshLayout) {
              refreshLayout.postDelayed(new Runnable() {
                  @Override
                  public void run() {
                      refreshLayout.finishRefreshing();
                      ToastUtil.NoMeals("No New Special Offers", getContext());
                  }
              }, REFRESH_DELAY);
          }
      });
	
	
	
	Pull To Refresh 2
	
	
	fragment_meals_today_demo.xml
	
<?xml version="1.0" encoding="utf-8"?>
<design.template.restaurant.app.PullToRefreshCook.PullToRefreshView
    android:id="@+id/pull_to_refresh"
    app:type="soup"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <android.support.v7.widget.RecyclerView
        android:id="@+id/rvFeed"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />
    </design.template.restaurant.app.PullToRefreshCook.PullToRefreshView>
	 
MealsToday.java
	
 mPullToRefreshView = (PullToRefreshView) view2.findViewById(R.id.pull_to_refresh);
      mPullToRefreshView.setOnRefreshListener(new PullToRefreshView.OnRefreshListener() {
          @Override
          public void onRefresh() {
           //   mPullToRefreshView.setRefreshing(true);
              mPullToRefreshView.postDelayed(new Runnable() {
                  @Override
                  public void run() {
                      mPullToRefreshView.setRefreshing(false);
                      ToastUtil.NoMeals("No New Meals ", getContext());
                  }
              },REFRESH_DELAY);
          }
      });
	
	
	
	
	
	
	
	Settings1Activity.java
	
	Controls item Connected with Shared preferences via key and value
	
	
		addItem(new CheckboxItem(getFragment(), "RememberMeKey").setTitle(getString(R.string.Remember)).setOnCheckedChangeListener(new CheckboxItem.OnCheckedChangeListener() {
			@Override
			public void onCheckedChange(CheckboxItem item, boolean isChecked) {
				if(isChecked) {
					ToastUtil.show("Enable");
				}else{
					ToastUtil.show("Disable");
				}
				getStorageInterface().save("RememberMeKey", isChecked);
			}
		}));
		addItem(new DividerItem(getFragment()));
		addItem(new SwitcherItem(getFragment(), "NotificationKey").setTitle(getString(R.string.push_notification)).setOnCheckedChangeListener(new CheckboxItem.OnCheckedChangeListener() {
			@Override
			public void onCheckedChange(CheckboxItem item, boolean isChecked) {
						getStorageInterface().save("NotificationKey", isChecked);
			}
		}));