一、使用v4包来实现页面的滑动效果。代码如下:
1、需要继承FragmentActivity
package com.zpark.musicapp;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.RadioGroup;
import com.zpark.musicapp.fragment.DierFragment;
import com.zpark.musicapp.fragment.SanFragment;
import com.zpark.musicapp.fragment.ShouyeFragment;
import java.util.ArrayList;
public class MainActivity extends FragmentActivity implements View.OnClickListener, ViewPager.OnPageChangeListener {
private ViewPager vp;
private RadioGroup rg;
//页面集合
private ArrayList<Fragment> fragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vp = findViewById(R.id.vp);
rg = findViewById(R.id.rg);
findViewById(R.id.bedeyyy_id).setOnClickListener(this);
findViewById(R.id.mv_id).setOnClickListener(this);
findViewById(R.id.duanpia_id).setOnClickListener(this);
fragment = new ArrayList<Fragment>();
fragment.add(new ShouyeFragment());
fragment.add(new DierFragment());
fragment.add(new SanFragment());
vp.setAdapter(new FragmentPagerAdapter(this.getSupportFragmentManager()) {
@Override
public Fragment getItem(int position) {
return fragment.get(position);
}
@Override
public int getCount() {
return fragment.size();
}
});
vp.setOnPageChangeListener(this);
rg.check(R.id.bedeyyy_id);
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.bedeyyy_id:
vp.setCurrentItem(0,true);
break;
case R.id.mv_id:
vp.setCurrentItem(1,true);
break;
case R.id.duanpia_id:
vp.setCurrentItem(2,true);
break;
}
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
switch (position){
case 0:
rg.check(R.id.bedeyyy_id);
break;
case 1:
rg.check(R.id.mv_id);
break;
case 2:
rg.check(R.id.duanpia_id);
break;
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
}
XML布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
tools:context="com.zpark.musicapp.MainActivity">
<RadioGroup
android:id="@+id/rg"
style="@style/dingbu_daohang"
android:background="@color/colorAccent"
>
<RadioButton
android:id="@+id/bedeyyy_id"
style="@style/dingbu_daohang_button"
android:text="滑动1"/>
<RadioButton
android:id="@+id/mv_id"
style="@style/dingbu_daohang_button"
android:text="滑动2"/>
<RadioButton
android:id="@+id/duanpia_id"
style="@style/dingbu_daohang_button"
android:text="滑动3"/>
</RadioGroup>
<android.support.v4.view.ViewPager
android:id="@+id/vp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
>
</android.support.v4.view.ViewPager>
</LinearLayout>
2、继承的是Fragment
package com.zpark.musicapp.fragment;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.zpark.musicapp.R;
/**
* Created by A on 2017/7/31.
*/
public class SanFragment extends Fragment{
private View view;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
if (view == null){
view = inflater.inflate(R.layout.sanfragment,container,false);
}
return view;
}
@Override
public void onDestroyView() {
super.onDestroyView();
((ViewGroup)view.getParent()).removeView(view);
}
}
3、
package com.zpark.musicapp.fragment;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.zpark.musicapp.R;
/**
* Created by A on 2017/7/31.
*/
public class DierFragment extends Fragment{
private View view;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
if (view == null){
view = inflater.inflate(R.layout.dierfragment,container,false);
}
return view;
}
@Override
public void onDestroyView() {
super.onDestroyView();
((ViewGroup)view.getParent()).removeView(view);
}
}
4、
package com.zpark.musicapp.fragment;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.zpark.musicapp.R;
/**
* Created by A on 2017/7/31.
*/
public class ShouyeFragment extends Fragment{
private View view;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
if (view == null){
view = inflater.inflate(R.layout.shouyefragment,container,false);
}
return view;
}
@Override
public void onDestroyView() {
super.onDestroyView();
((ViewGroup)view.getParent()).removeView(view);
}
}