SupportPercentDemos.java revision 973c8f507a83250d3aae077427bd4df67ba4ff61
1e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski/*
2e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski * Copyright (C) 2015 The Android Open Source Project
3e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski *
4e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski * Licensed under the Apache License, Version 2.0 (the "License");
5e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski * you may not use this file except in compliance with the License.
6e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski * You may obtain a copy of the License at
7e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski *
8e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski *      http://www.apache.org/licenses/LICENSE-2.0
9e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski *
10e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski * Unless required by applicable law or agreed to in writing, software
11e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski * distributed under the License is distributed on an "AS IS" BASIS,
12e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski * See the License for the specific language governing permissions and
14e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski * limitations under the License.
15e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski */
16e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski
17e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynskipackage com.example.android.support.percent;
18e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski
19e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynskiimport android.app.Activity;
20e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynskiimport android.app.Fragment;
21e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynskiimport android.os.Bundle;
22e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynskiimport android.app.FragmentManager;
23e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynskiimport android.support.v13.app.FragmentStatePagerAdapter;
24e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynskiimport android.support.v4.view.ViewPager;
25e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynskiimport android.view.LayoutInflater;
26e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynskiimport android.view.View;
27e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynskiimport android.view.ViewGroup;
28e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski
29e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynskipublic class SupportPercentDemos extends Activity {
30e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski    private static final String LAYOUT_RESOURCE_ID = "layout_resource_id";
31e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski
32e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski    private ViewPager mPager;
33e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski
34e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski    @Override
35e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski    protected void onCreate(Bundle savedInstanceState) {
36e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski        super.onCreate(savedInstanceState);
37e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski        setContentView(R.layout.support_percent_demos);
38e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski        mPager = (ViewPager) findViewById(R.id.pager);
39e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski        mPager.setAdapter(new Adapter(getFragmentManager()));
40e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski    }
41e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski
42e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski    public static class Adapter extends FragmentStatePagerAdapter {
43e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski        public Adapter(FragmentManager fm) {
44e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski            super(fm);
45e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski        }
46e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski
47973c8f507a83250d3aae077427bd4df67ba4ff61Filip Gruszczynski
48e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski        @Override
49e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski        public Fragment getItem(int position) {
50e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski            PercentFragment fragment = new PercentFragment();
51e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski            Bundle args = new Bundle();
52e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski            switch (position) {
53e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski                case 0:
54e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski                    args.putInt(LAYOUT_RESOURCE_ID, R.layout.demo_1);
55e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski                    break;
56e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski                case 1:
57e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski                    args.putInt(LAYOUT_RESOURCE_ID, R.layout.demo_2);
58973c8f507a83250d3aae077427bd4df67ba4ff61Filip Gruszczynski                    break;
59973c8f507a83250d3aae077427bd4df67ba4ff61Filip Gruszczynski                case 2:
60973c8f507a83250d3aae077427bd4df67ba4ff61Filip Gruszczynski                    args.putInt(LAYOUT_RESOURCE_ID, R.layout.demo_3);
61973c8f507a83250d3aae077427bd4df67ba4ff61Filip Gruszczynski                    break;
62e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski                default:
63e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski                    break;
64e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski            }
65e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski            fragment.setArguments(args);
66e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski            return fragment;
67e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski        }
68e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski
69e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski        @Override
70e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski        public int getCount() {
71973c8f507a83250d3aae077427bd4df67ba4ff61Filip Gruszczynski            return 3;
72e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski        }
73e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski    }
74e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski
75e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski    public static class PercentFragment extends Fragment {
76e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski        public PercentFragment() {
77e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski        }
78e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski
79e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski        @Override
80e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski        public View onCreateView(LayoutInflater inflater, ViewGroup container,
81e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski                Bundle savedInstanceState) {
82e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski            Bundle args = getArguments();
83e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski            int layout = args.getInt(LAYOUT_RESOURCE_ID);
84e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski            return inflater.inflate(layout, container, false);
85e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski        }
86e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski    }
87e5275fa662cbd4839031f3a0f2212d976dfb53d3Filip Gruszczynski}
88