过几秒自己滑动fragment,按立即体验跳入下面的页面

这个里面还有一个ViewPager。可以滑动,上面有一个横杆,可以跟着走

App类来确定fragment之间的加载

public class App extends AppCompatActivity implements RadioGroup.OnCheckedChangeListener {    Fragment[] fragments = new Fragment[5];    RadioGroup rg;    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.app_layout);        rg = (RadioGroup) findViewById(R.id.rg);        rg.setOnCheckedChangeListener(this);        showFragment(0);        rg.check(R.id.rb1);    }    @Override    public void onCheckedChanged(RadioGroup group, int checkedId) {        switch (checkedId) {            case R.id.rb1:                showFragment(0);                break;            case R.id.rb2:                showFragment(1);                break;            case R.id.rb3:                showFragment(2);                break;            case R.id.rb4:                showFragment(3);                break;            case R.id.rb5:                showFragment(4);                break;        }    }    //上一次界面上显示的哪一个Fragment    int currIndex = -1; //代表第一次进来    //展示Fragment    public void showFragment(int index) {        if (index == currIndex)            return;        FragmentTransaction ft = getSupportFragmentManager().beginTransaction();        if (currIndex != -1) {            ft.hide(fragments[currIndex]);        }        if (fragments[index] == null) {            createFragment(index);          ft.add(R.id.fl_content, fragments[index]);        } else {            ft.show(fragments[index]);        }        currIndex = index;        ft.commit();    }    //新建一个Fragment    private void createFragment(int index) {        switch (index) {            case 0:                fragments[0] = new CollectFragment();                break;            case 1:                fragments[1] = new OrderFragment();                break;            case 2:                fragments[2] = new HomePageFragment();                break;            case 3:                fragments[3] = new PersonalCenterFragment();                break;            case 4:                fragments[4] = new SettingFragment();                break;        }    }}

MainActivity 类

public class MainActivity extends AppCompatActivity implements View.OnClickListener {    ViewPager vp;    Timer timer;    Button btn;    LinearLayout rl;    public void start() {        timer = new Timer();        timer.schedule(new TimerTask() {            @Override            public void run() {                runOnUiThread(new Runnable() {                    @Override                    public void run() {                        vp.setCurrentItem(vp.getCurrentItem() + 1);                    }                });            }        }, 3000, 2000);    }    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        vp = (ViewPager) findViewById(R.id.vp);        btn = (Button) findViewById(R.id.btn);        vp.setAdapter(new myPagerAdapter());        start();        btn.setOnClickListener(this);        vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {            @Override            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {            }            int index;//一开始是第0页 已经被选中            @Override            public void onPageSelected(int position) {                //Intent intent = new Intent(getBaseContext(), App.class);                //startActivity(intent);                rl.getChildAt(index).setSelected(false);                rl.getChildAt(position).setSelected(true);                index = position;            }            @Override            public void onPageScrollStateChanged(int state) {            }        });        initPiont();    }    private void initPiont() {        rl = (LinearLayout) findViewById(R.id.rl);        for (int i = 0; i <3 ; i++) {            View v = new View(this);            LinearLayout.LayoutParams parames = new LinearLayout.LayoutParams(20,20);            v.setBackgroundResource(R.drawable.point_select);            parames.setMargins(10,10,10,10);            v.setLayoutParams(parames);            rl.addView(v);        }        rl.getChildAt(0).setSelected(true);    }    @Override    public void onClick(View v) {        Intent intent = new Intent(MainActivity.this, App.class);        startActivity(intent);    }    class myPagerAdapter extends PagerAdapter {        int[] imgId = {R.mipmap.a, R.mipmap.b, R.mipmap.c};        List viewList = new ArrayList<>();        public myPagerAdapter() {            for (int i = 0; i < 3; i++) {                ImageView iv = new ImageView(getBaseContext());                iv.setImageResource(imgId[i]);                iv.setScaleType(ImageView.ScaleType.FIT_XY);                viewList.add(iv);            }        }        @Override        public int getCount() {            return viewList.size();        }        @Override        public boolean isViewFromObject(View view, Object object) {            return view == object;        }        @Override        public Object instantiateItem(ViewGroup container, int position) {            container.addView(viewList.get(position));            return viewList.get(position);        }        @Override        public void destroyItem(ViewGroup container, int position, Object object) {            container.removeView(viewList.get(position));        }    }}

AttractionFragment 类,景点门票类

public class AttractionFragment extends Fragment{    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        return View.inflate(getActivity(),android.R.layout.simple_list_item_1,null);    }    @Override    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {        super.onViewCreated(view, savedInstanceState);        view.setBackgroundColor(Color.BLUE);    }}

CollectFragment 类收藏界面的fragment

public class CollectFragment extends Fragment {    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        TextView tv = new TextView(getActivity());        tv.setText("这是收藏的界面");        tv.setTextSize(50);        return tv;    }}

HomePageFragment 首页fragment的界面

public class HomePageFragment extends Fragment implements RadioGroup.OnCheckedChangeListener, ViewPager.OnPageChangeListener {    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        return View.inflate(getActivity(), R.layout.home_fragment, null);    }    List mList = new ArrayList<>();    RadioGroup home_rg;    ViewPager home_vp;    View view_indicator;    @Override    public void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        mList.add(new TourismFragment());        mList.add(new AttractionFragment());    }    @Override    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {        super.onViewCreated(view, savedInstanceState);        home_rg = (RadioGroup) view.findViewById(R.id.rg);        home_vp = (ViewPager) view.findViewById(R.id.home_vp);        view_indicator = view.findViewById(R.id.view_indicator);        //在Fragment中设置FragmentPagerAdapter必须使用Child        home_vp.setAdapter(new MyFragmentAdapter(getChildFragmentManager(), mList));        home_rg.setOnCheckedChangeListener(this);        home_vp.addOnPageChangeListener(this);        home_rg.check(R.id.home_rg_rb1);        indicator();    }    //将他做成 1半    int width;    public void indicator() {        width = getResources().getDisplayMetrics().widthPixels / 2;        FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(width, ViewGroup.LayoutParams.MATCH_PARENT);        view_indicator.setLayoutParams(params);    }    @Override    public void onCheckedChanged(RadioGroup group, int checkedId) {        home_vp.setCurrentItem(checkedId == R.id.home_rg_rb1 ? 0 : 1);    }    @Override    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {        FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) view_indicator.getLayoutParams();        int left = (int) ((position + positionOffset) * width);        params.setMargins(left, 0, 0, 0);        view_indicator.setLayoutParams(params);    }    @Override    public void onPageSelected(int position) {        home_rg.check(position == 0 ? R.id.home_rg_rb1 : R.id.home_rg_rb2);    }    @Override    public void onPageScrollStateChanged(int state) {    }}

MyFragmentAdapter 类

public class MyFragmentAdapter extends FragmentPagerAdapter {    List mList;    public MyFragmentAdapter(FragmentManager fm, List list) {        super(fm);        this.mList = list;    }    @Override    public Fragment getItem(int position) {        return mList.get(position);    }    @Override    public int getCount() {        return mList.size();    }}

OrderFragment 类,订单的fragment

public class OrderFragment extends Fragment {    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        TextView tv = new TextView(getActivity());        tv.setText("这是订单的界面");        tv.setTextSize(50);        return tv;    }}

PersonalCenterFragment 类 ,个人中心

public class PersonalCenterFragment extends Fragment {    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        TextView tv = new TextView(getActivity());        tv.setText("这是个人中心的界面");        tv.setTextSize(50);        return tv;    }}

SettingFragment 类,设置

public class SettingFragment extends Fragment {    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        TextView tv = new TextView(getActivity());        tv.setText("这是设置的界面");        tv.setTextSize(50);        return tv;    }}

TourismFragment 类,旅游度假页面

public class TourismFragment extends Fragment {    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        return View.inflate(getActivity(),android.R.layout.simple_list_item_1,null);    }    @Override    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {        super.onViewCreated(view, savedInstanceState);        view.setBackgroundColor(Color.YELLOW);    }}

activity_mian.xml,设置的是ViewPager

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main"    android:layout_width="match_parent" android:layout_height="match_parent"    tools:context="com.example.work10_1_10_20.MainActivity"><android.support.v4.view.ViewPager    android:layout_width="match_parent"    android:layout_height="match_parent"    android:id="@+id/vp"    />    <LinearLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentBottom="true"        android:orientation="horizontal"        android:layout_margin="50dp"        android:layout_centerHorizontal="true"        android:id="@+id/rl"        />    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:orientation="horizontal"        android:layout_above="@id/rl"        android:layout_centerHorizontal="true"        android:background="@drawable/shape1"        android:text="立即体验 > "        android:id="@+id/btn"        android:textColor="@android:color/white"        />RelativeLayout>

app_layout.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">    <RadioGroup        android:id="@+id/rg"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_alignParentBottom="true"        android:background="#004E89"        android:gravity="center"        android:orientation="horizontal">        <RadioButton            android:id="@+id/rb1"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"                android:drawableTop="@drawable/favor"            android:button="@null"            android:gravity="center"            android:text="收藏" />        <View            android:layout_width="1dp"            android:layout_height="50dp"            android:background="#171717" />        <RadioButton            android:id="@+id/rb2"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:drawableTop="@drawable/order"            android:button="@null"            android:gravity="center"            android:text="订单" />        <View            android:layout_width="1dp"            android:layout_height="50dp"            android:background="#171717" />        <RadioButton            android:id="@+id/rb3"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:drawableTop="@drawable/home"            android:button="@null"            android:gravity="center"            android:text="首页" />        <View            android:layout_width="1dp"            android:layout_height="50dp"            android:background="#171717" />        <RadioButton            android:id="@+id/rb4"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:drawableTop="@drawable/uc"            android:button="@null"            android:gravity="center"            android:text="个人中心" />        <View            android:layout_width="1dp"            android:layout_height="50dp"            android:background="#171717" />        <RadioButton            android:id="@+id/rb5"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:drawableTop="@drawable/setting"            android:button="@null"            android:gravity="center"            android:text="设置" />    RadioGroup>    <FrameLayout        android:id="@+id/fl_content"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_above="@id/rg" />RelativeLayout>

home_fragment.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">    <RadioGroup        android:id="@+id/rg"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal">        <RadioButton            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_weight="1"            android:button="@null"            android:id="@+id/home_rg_rb1"            android:background="@drawable/back"            android:textColor="@android:color/white"            android:padding="10dp"            android:gravity="center"            android:text="旅游度假" />        <RadioButton            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_weight="1"            android:background="@drawable/back"            android:id="@+id/home_rg_rb2"            android:button="@null"            android:textColor="@android:color/white"            android:padding="10dp"            android:gravity="center"            android:text="景点门票" />    RadioGroup>        <FrameLayout        android:layout_width="match_parent"        android:layout_height="10dp">        <View            android:layout_width="match_parent"            android:layout_height="match_parent"            android:background="@android:color/darker_gray" />        <View            android:id="@+id/view_indicator"            android:layout_width="match_parent"            android:layout_height="match_parent"            android:background="#16c742" />    FrameLayout>    <android.support.v4.view.ViewPager        android:layout_width="match_parent"        android:id="@+id/home_vp"        android:layout_height="wrap_content"/>LinearLayout>

colors的配置

<?xml version="1.0" encoding="utf-8"?><resources>    <color name="colorPrimary">#3F51B5color>    <color name="colorPrimaryDark">#303F9Fcolor>    <color name="colorAccent">#FF4081color>    <color name="back_check">#1b207ccolor>    <color name="back_check_nor">#80437be2color>resources>

更多相关文章

  1. Android(安卓)5.0系统 style 默认窗口控件颜色值设置
  2. Android(安卓)Video简述
  3. ANDROID PERMISSION ALL
  4. Android(安卓)Studio 安装使用教程
  5. android(8) ViewPager页面滑动切换
  6. android webView 的 webSettings 最全的说明
  7. android轮播图Banner的使用及详解
  8. android 布局相关
  9. android实现滑动解锁

随机推荐

  1. 在不使用 android:elevation 属性的情况
  2. 下载最新android adt的方法
  3. MVVM + dataBinding
  4. android 使用相机时出现了 startpreview
  5. intent-filter的data属性详述
  6. Android利用BitMap获得图片像素数据的方
  7. Android(安卓)ORM 框架:GreenDao 使用详解
  8. Android和iPhone截屏快捷键
  9. Android(安卓)获取新装程序信息
  10. 关于Contacts的那点事儿