ViewPager的简单使用

来源:互联网 发布:maka表单数据从哪里看 编辑:程序博客网 时间:2024/03/28 18:24

viewpager的使用

xml布局

<android.support.v4.view.ViewPager        android:layout_width="match_parent"        android:layout_weight="1"        android:id="@+id/viewpager"        android:layout_height="0dp"></android.support.v4.view.ViewPager>


分析

ViewPager需要一个pagerAdapter,这里一般使用FragmentPagerAdapter,

FragmentPagerAdapter需要一个或多个Fragment

Fragment的代码如下

package com.example.administrator.viewpager;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.Gravity;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;/** * Created by Administrator on 2017/6/8. */public class MyFragment extends Fragment {    @Override    public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {        Bundle bundle=getArguments();        String title="";       if(bundle!=null){           title= bundle.getString("title");       }        TextView textView=new TextView(getActivity());        textView.setText(title);        textView.setGravity(Gravity.CENTER);        return textView;    }    public static MyFragment newInstance(String title){        Bundle bundle=new Bundle();        bundle.putString("title",title);        MyFragment myFragment=new MyFragment();        myFragment.setArguments(bundle);        return myFragment;    }}




然后在Main_Activity中调用

private ViewPager viewPager=(ViewPager)findViewById(R.id.viewpager);
private List<String> mtitle= Arrays.asList("消息","联系人","动态");private List<MyFragment> mcontent=new ArrayList<MyFragment>();private FragmentPagerAdapter fragmentPagerAdapter;

protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    requestWindowFeature(Window.FEATURE_NO_TITLE);    setContentView(R.layout.activity_main);
     
    fragmentPagerAdapter=new FragmentPagerAdapter(
     getSupportFragmentManager()){
@Overridepublic int getCount() {    return mcontent.size();}@Overridepublic Fragment getItem(int position) {    return mcontent.get(position);}
};
    viewPager.setAdapter(fragmentPagerAdapter);
for(String str:mtitle){
    MyFragment myFragment=new MyFragment();
    myFragment.newInstance(str);
   mcontent.add(myFragment);

}

}