ViewPager + Fragment 仿微信滑动切换页卡

来源:互联网 发布:内外网切换软件 编辑:程序博客网 时间:2024/04/30 15:22

1、新建类,继承Fragment --导入的是v4的包(向下兼容),利用布局加载器将其与xml结合起来

public class FragmentAddress extends Fragment {    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view=inflater.inflate(R.layout.address_layout,container,false);        return view;    }}

2、主布局类,继承FragmentActivity。使用FragmentPagerAdapter适配器加载页卡(数据源)

/**item(页面)切换的相应   */ private void setPager() {     main_viewpager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {         @Override         public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {         }         @Override         public void onPageSelected(int position) {             int currentItem=main_viewpager.getCurrentItem();   //取得当前的item(或是被点击的)             setTab(currentItem);         }         @Override         public void onPageScrollStateChanged(int state) {
         }     }); }

三、主布局的xml文件

<android.support.v4.view.ViewPager    android:id="@+id/vp_main"    android:layout_weight="1"    android:layout_width="match_parent"    android:layout_height="0dp"></android.support.v4.view.ViewPager><include layout="@layout/tab" />
--自定义的tab页卡标题--其中一部分
<LinearLayout    android:id="@+id/ll_weixin"    android:layout_weight="1"    android:orientation="vertical"    android:layout_width="0dp"    android:layout_height="match_parent">    <!--点击事件FALSE掉,不会和父布局冲突-->    <ImageButton        android:id="@+id/ib_weixin"        android:clickable="false"        android:layout_weight="3"        android:background="@mipmap/tab_weixin_normal"        android:layout_gravity="center"        android:layout_width="wrap_content"        android:layout_height="0dp" />    <TextView        android:text="微信"        android:textSize="19sp"        android:layout_gravity="center"        android:textColor="#ffffff"        android:gravity="center"        android:layout_weight="2"        android:layout_width="wrap_content"        android:layout_height="0dp" /></LinearLayout>

例子如下:

0 0
原创粉丝点击