安卓开发 Dachshund-Tab-Layout选项卡布局

来源:互联网 发布:泛普软件怎么样 编辑:程序博客网 时间:2024/06/05 22:45

起源的Github链接:https://github.com/Andy671/Dachshund-Tab-Layout


必备依赖:

    //Tab-layout    compile 'com.github.Andy671:Dachshund-Tab-Layout:v0.+'

主页面MainActivity:

public class MainActivity extends AppCompatActivity {    @Bind(R.id.DachshundTabLayout)    com.kekstudio.dachshundtablayout.DachshundTabLayout DachshundTabLayout;    @Bind(R.id.viewager)    ViewPager viewager;    CommonViewPagerAdapter adapter;    FragemtActivity fragemtActivity;    String[] strings = {"第一页", "第二页", "第三页", "第四页", "第五页"};    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        ButterKnife.bind(this);        adapter = new CommonViewPagerAdapter(getSupportFragmentManager(), strings);        for (int i = 0; i <= 4; i++) {            fragemtActivity = new FragemtActivity().newInstance(strings[i]);            adapter.addFragment(fragemtActivity);        }        viewager.setAdapter(adapter);        DachshundTabLayout.setupWithViewPager(viewager);        DachshundTabLayout.setTabMode(TabLayout.MODE_FIXED);//排序样式    }}

xml使用依赖控件:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">    <com.kekstudio.dachshundtablayout.DachshundTabLayout        android:id="@+id/DachshundTabLayout"        android:layout_width="match_parent"        android:layout_height="50dp"        android:background="@android:color/holo_blue_bright"        app:tabGravity="center"        app:tabMode="scrollable"        app:tabTextColor="@android:color/black" />    <android.support.v4.view.ViewPager        android:id="@+id/viewager"        android:layout_width="match_parent"        android:layout_height="match_parent" /></LinearLayout>

Viewpager呈现页面适配器:

public class CommonViewPagerAdapter extends FragmentPagerAdapter {    List<Fragment> mFragments = new ArrayList<>();    String[] titleStrings;    public CommonViewPagerAdapter(FragmentManager fm, String[] titleStrings) {        super(fm);        this.titleStrings = titleStrings;    }    public void addFragment(Fragment fragment) {        mFragments.add(fragment);    }    @Override    public Fragment getItem(int position) {        return mFragments.get(position);    }    @Override    public int getCount() {        return mFragments.size();    }    @Override    public CharSequence getPageTitle(int position) {        return titleStrings[position];    }}


适配器填充的FragmentActivity的页面:

public class FragemtActivity extends Fragment {    View view;    @Bind(R.id.textview)    TextView textview;    final static String pagertext = "";    String textString;    public static FragemtActivity newInstance(String text) {        FragemtActivity fragment = new FragemtActivity();        Bundle args = new Bundle();        args.putString(pagertext, text);        fragment.setArguments(args);        return fragment;    }    @Override    public void onCreate(@Nullable Bundle savedInstanceState) {        textString = getArguments().getString(pagertext);        super.onCreate(savedInstanceState);    }    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        view = inflater.inflate(R.layout.activity_fragemt, container, false);        ButterKnife.bind(this, view);        textview.setText(textString);        return view;    }    @Override    public void onDestroyView() {        super.onDestroyView();        ButterKnife.unbind(this);    }}

xnl使用一个textview呈现效果:

<?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">    <TextView        android:id="@+id/textview"        android:layout_width="match_parent"        android:layout_height="45dp"        android:gravity="center"        android:text="显示"        android:textColor="@android:color/black"        android:textSize="20sp" /></LinearLayout>


实现的效果图:



Demo下载地址:https://github.com/Small-code-monkey/Dachshund_Tab_Layout


原创粉丝点击