FragmentActivity_左右滑动的碎片

test1.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" >
    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView 
            
            android:layout_width="match_parent"
            android:layout_height="45dp"
            android:gravity="center"
            android:background="#4ADF2B"
            android:textColor="#ffffff"
           android:textSize="20dp"
            android:text="悦动"
            />
       
    </LinearLayout>
 <LinearLayout 
            android:layout_width="match_parent"
            android:layout_height="match_parent">
     <ImageView 
     
         android:layout_width="match_parent"
        android:background="@drawable/yuedong22"
         android:layout_height="match_parent"
         
         />
 </LinearLayout>
</LinearLayout>

 

 

Activity_text1.java要继承Fragment  跟上面test1.xml进行适配    

package com.example.speed_app;

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;

public class Activity_text1 extends Fragment{
  @Override
public View onCreateView(LayoutInflater inflater,
        @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    // TODO Auto-generated method stub
      View view = inflater.inflate(R.layout.text1, container,false);
    return view;
}
}

 

上面的Activity_text1.java  和 test1.xml双双多个 这里就弄一个,我的项目弄了多个 因为都是一样的方法  

 

 上面准备好了

接下来才是我们要去实现的

 

caidan_dibu.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="horizontal" >
      <RadioGroup 
        android:id="@+id/radioGroup1"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:orientation="horizontal"
        android:gravity="center">
         <RadioButton
             android:id="@+id/radioButton1"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_weight="1"
             android:button="@null"
             android:checked="true"
             android:drawableTop="@drawable/ledong"
             android:gravity="center"
             android:textColor="@drawable/color"
             android:text="悦动" />

    <RadioButton
        android:id="@+id/radioButton2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:drawableTop="@drawable/tiaozhan"
        android:button="@null"
        android:textColor="@drawable/color"
        android:text="挑战" 
      
        android:gravity="center"
        />

    <RadioButton
        android:id="@+id/radioButton3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:button="@null"
        android:drawableTop="@drawable/faxian"
        android:gravity="center"
        android:textColor="@drawable/color"
        android:text="发现" />
    <RadioButton
        android:id="@+id/radioButton4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:button="@null"
        android:drawableTop="@drawable/quanz"
        android:text="圈子" 
        android:textColor="@drawable/color"
        android:gravity="center"
        />
    <RadioButton
       android:id="@+id/radioButton5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:button="@null"
         android:textColor="@drawable/color"
        android:drawableTop="@drawable/wo3"
        android:text="我" 
        android:gravity="center"
        />
    </RadioGroup>
</LinearLayout>

结果图:

 

 

 

 

home.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" >
   <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_weight="1"
    >
      
       <android.support.v4.view.ViewPager   //这个是一个v4包,这个包放在你要切换布局里面在下图的框里
          android:id="@+id/vp"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:flipInterval="30"
          android:persistentDrawingCache="animation" />
       </LinearLayout>
    <LinearLayout 
         android:layout_width="match_parent"
         android:layout_height="wrap_content">
    <include layout="@layout/caidan_dibu"/>
   </LinearLayout> 
</LinearLayout>

 

 结果:

 

 

MyFragmentPagerAdapter.java 实现适配器

 

package com.example.speed_app;

import java.util.List;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
//FragmentPagerAdapter是Android-support-v4支持包里面出现的一个新的适配器
public class MyFragmentPagerAdapter extends FragmentStatePagerAdapter {

    private FragmentManager fragmentManager;
    private List<Fragment> fragmentList;
    public MyFragmentPagerAdapter(FragmentManager fragmentManager,List<Fragment> fragmentList) {
        super(fragmentManager);
        this.fragmentManager = fragmentManager;
        this.fragmentList = fragmentList;
    }

    @Override
    public Fragment getItem(int arg0) {
        // TODO Auto-generated method stub
        return fragmentList.get(arg0);
    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return fragmentList.size();
    }

}

 

Activity_home.java 要继承FragmentActivity

package com.example.speed_app;
import java.util.ArrayList;
import java.util.List;

import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.TranslateAnimation;
import android.widget.RadioButton;
public class Activity_home extends FragmentActivity{
        private int currIndex;//记录滑动的第几个
        private ViewPager viewPager;//ViewPager滚动功能
        private List<Fragment> fragmentList;//一共有多少个Fragment集合
        private RadioButton radioButton1,radioButton2,radioButton3,radioButton4,radioButton5;
       
        
        @Override
       protected void onCreate(Bundle savedInstanceState) {
         // TODO Auto-generated method stub
         super.onCreate(savedInstanceState);
         setContentView(R.layout.home);
         
         //z初始化 viewpager
         viewPager = (ViewPager) findViewById(R.id.vp);
         fragmentList = new ArrayList<Fragment>();
         Fragment fragment1 = new Activity_text1();//滑动页面的布局1
         Fragment fragment2 = new Activity_text2();//滑动页面的布局2
         Fragment fragment3 = new Activity_text3();//滑动页面的布局3
         Fragment fragment4 = new Activity_text4();//滑动页面的布局4
         Fragment fragment5 = new Activity_text5();//滑动页面的布局5
         
         fragmentList.add(fragment1);//添加到集合保存
         fragmentList.add(fragment2);//添加到集合保存
         fragmentList.add(fragment3);//添加到集合保存
         fragmentList.add(fragment4);//添加到集合保存
         fragmentList.add(fragment5);//添加到集合保存
         
         //FragmentManager能够实现管理activity中fragment. 通过调用activity的getFragmentManager()取得它的实例
         FragmentManager fragmentManager = getSupportFragmentManager();//V4的包
         
         //FragmentPagerAdapter类
         MyFragmentPagerAdapter pagerAdapter = new MyFragmentPagerAdapter(fragmentManager, fragmentList); 
         viewPager.setAdapter(pagerAdapter);
        viewPager.setCurrentItem(0);//默认从第1个开始 也就是Activity_text1()这个Fragment开始
        
        viewPager.setOnPageChangeListener(new OnPageChangeListener() {
            
            @Override
            public void onPageSelected(int arg0) {
                
                // TODO Auto-generated method stub
                //Animation animation = new TranslateAnimation(0,0,0,0);
                //animation.setFillAfter(true);
                currIndex = arg0;//获取目前滑动的坐标
                
                radioButton1 = (RadioButton) findViewById(R.id.radioButton1);
                radioButton2 = (RadioButton) findViewById(R.id.radioButton2);
                radioButton3 = (RadioButton) findViewById(R.id.radioButton3);
                radioButton4 = (RadioButton) findViewById(R.id.radioButton4);
                radioButton5 = (RadioButton) findViewById(R.id.radioButton5);
                
                switch (arg0) {
                case 0:
                    radioButton1.setChecked(true);//如果是0坐标,那radioButton1这个单选按钮为true,也就是点击状态
                    break;
                case 1:
                    radioButton2.setChecked(true);
                    break;
                case 2:
                    radioButton3.setChecked(true);
                    break;
                case 3:
                    radioButton4.setChecked(true);
                    break;
                case 4:
                    radioButton5.setChecked(true);
                    break;
                default:
                    break;
                }
                
            }
            
            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
            
            }
            
            @Override
            public void onPageScrollStateChanged(int arg0) {
                
                
            }
        });
        
        
        //下面可以通过点击radioButton按钮实现切换页面
        radioButton1 = (RadioButton) findViewById(R.id.radioButton1);
        radioButton2 = (RadioButton) findViewById(R.id.radioButton2);
        radioButton3 = (RadioButton) findViewById(R.id.radioButton3);
        radioButton4 = (RadioButton) findViewById(R.id.radioButton4);
        radioButton5 = (RadioButton) findViewById(R.id.radioButton5);
        
        radioButton1.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                viewPager.setCurrentItem(0);//这个0代表坐标,但点击radioButton1这个按钮之后会显示坐标为0的页面也就是 Activity_text1()
                
            }
        });
        
        radioButton2.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                viewPager.setCurrentItem(1);//这个1代表坐标,但点击radioButton1这个按钮之后会显示坐标为0的页面也就是 Activity_text2()
                
                
            }
        });

        radioButton3.setOnClickListener(new OnClickListener() {
    
            @Override
            public void onClick(View v) {
                viewPager.setCurrentItem(2);//这个2代表坐标,但点击radioButton1这个按钮之后会显示坐标为0的页面也就是 Activity_text3()
                    
            }
        });

        radioButton4.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        viewPager.setCurrentItem(3);//这个3代表坐标,但点击radioButton1这个按钮之后会显示坐标为0的页面也就是 Activity_text4()
        
         }
    });

        radioButton5.setOnClickListener(new OnClickListener() {
    
            @Override
            public void onClick(View v) {
                viewPager.setCurrentItem(4);//这个4代表坐标,但点击radioButton1这个按钮之后会显示坐标为0的页面也就是 Activity_text5()
            }
        });
 }
        
}

 

 

 

 

 

 

 

posted @ 2016-12-19 20:50  小鱼干的梦  阅读(1274)  评论(0编辑  收藏  举报