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
Splash Screen

 
 @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
Splash Screen

 
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);

    }
 
badge
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

badge
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());

                }
            });
		...
		.....
		
		      
        ...
        .....
        ......
	
	
	
badge
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);
          }
      });
	
badge
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);




			}
		}));