zoukankan      html  css  js  c++  java
  • [android] 练习viewpagerindicator的使用(二)

    主要还是想实现滑动的tab切换效果

    MainActivity.java

    package com.example.csdn;
    
    
    
    import com.viewpagerindicator.TabPageIndicator;
    
    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.FragmentPagerAdapter;
    import android.support.v4.view.ViewPager;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.TextView;
    
    
    public class MainActivity extends FragmentActivity {
        private TabPageIndicator tpi_tab;
        private ViewPager vp_content;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            tpi_tab = (TabPageIndicator) findViewById(R.id.vpi_tab);
            vp_content = (ViewPager) findViewById(R.id.vp_content);
            FragmentManager fm = getSupportFragmentManager();
            TabAdapter adapter = new TabAdapter(fm);
            // ViewPager设置适配器
            vp_content.setAdapter(adapter);
            // 指示器绑定ViewPager
            tpi_tab.setViewPager(vp_content, 0);
        }
    
    }
    
    /**
     * 标签部分适配器
     * 
     * @author taoshihan
     * 
     */
    class TabAdapter extends FragmentPagerAdapter {
    
        public static final String[] TITLES = new String[] { "业界", "移动", "研发","PHP","Android","Java","前端" };
    
        public TabAdapter(FragmentManager fm) {
            super(fm);
        }
    
        @Override
        public Fragment getItem(int arg0) {
            return new ContentFragment(arg0);
        }
    
        @Override
        public int getCount() {
            return TITLES.length;
        }
    
        @Override
        public CharSequence getPageTitle(int position) {
            // TODO Auto-generated method stub
            return TITLES[position % TITLES.length];
        }
    }
    /**
     * 内容部分
     * @author taoshihan
     *
     */
    class ContentFragment extends Fragment{
        private int index;
        public ContentFragment(int index) {
            this.index=index;
        }
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View view=View.inflate(getActivity(), R.layout.main_content, null);
            TextView tv_content=(TextView) view.findViewById(R.id.tv_content);
            String[] titles=TabAdapter.TITLES;
            tv_content.setText(titles[index]);
            return view;
        }
    }

    样式就是在清单文件中给activity填上主题

    <activity
                android:name=".MainActivity"
                android:label="@string/app_name" 
                android:theme="@style/Theme.PageIndicatorDefaults">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
  • 相关阅读:
    拆分跨天的时间数据
    模板
    更换数据库服务器迁移步骤
    缺失索引
    flex布局解说和属性
    Vuejs中关于computed、methods、watch,mounted的区别
    皮囊
    回家
    江苏旅游计划
    重写原生alert,弹出层过一会就消失
  • 原文地址:https://www.cnblogs.com/taoshihan/p/5709236.html
Copyright © 2011-2022 走看看