悬浮控件之Tablayout
来源:互联网 发布:创维5t36数据 编辑:程序博客网 时间:2024/05/16 23:44
1、布局文件
<?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:id="@+id/db" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.CoordinatorLayout xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.design.widget.AppBarLayout android:id="@+id/appBarLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:fitsSystemWindows="true"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar_layout" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <com.youth.banner.Banner xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/banner" app:indicator_drawable_selected="@mipmap/navpoint_selected2x" app:indicator_drawable_unselected="@mipmap/navpoint_unselected2x" app:indicator_width="20px" android:layout_width="match_parent" android:layout_height="260px" /> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <com.zhy.autolayout.AutoLinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <android.support.design.widget.TabLayout android:id="@+id/tablayout_snatch" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabIndicatorColor="@color/red" app:tabMode="fixed" app:tabTextAppearance="@android:style/TextAppearance.Holo.Large" app:tabSelectedTextColor="@color/red" app:tabTextColor="#000" /> <!--app:tabTextAppearance="@style/TabLayoutTextStyle"--> <com.han.onermb.views.NoScrollViewPager android:id="@+id/vp_snatch" android:layout_width="match_parent" android:layout_height="wrap_content" /> </com.zhy.autolayout.AutoLinearLayout> </android.support.design.widget.CoordinatorLayout></LinearLayout>2viewpager适配器import android.support.v4.app.FragmentPagerAdapter;import com.han.onermb.fragment.FragmentPage;/** * Created by 韩永光 * on 2017/2/8 11:27. */public class Adapter extends FragmentPagerAdapter { private final Context context; private String[] titles = new String[]{"最热", "最新", "最快", "高价", "低价"}; public Adapter(FragmentManager fm, Context context) { super(fm); this.context=context; } @Override public Fragment getItem(int position) { return FragmentPage.getIntence(position+1); } @Override public int getCount() { return titles.length; } @Override public CharSequence getPageTitle(int position) { return titles[position]; }}3、复用的fragmentpackage com.han.onermb.fragment;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.support.v7.widget.RecyclerView;import android.support.v7.widget.StaggeredGridLayoutManager;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import com.google.gson.Gson;import com.han.onermb.R;import com.han.onermb.adapter.MyRecycleViewAdapter;import com.han.onermb.base.BaseData;import com.han.onermb.bean.RecycleViewBean;import com.han.onermb.interfaces.ICallback;import com.han.onermb.recycleview.DividerGridItemDecoration;import com.han.onermb.utils.URLUtils;/** * Created by 韩永光 * on 2017/2/8 10:50. */public class FragmentPage extends Fragment { private int bundle; private RecyclerView recycleview; public static FragmentPage getIntence(int page) { FragmentPage fragmentPage = new FragmentPage(); Bundle bundle = new Bundle(); bundle.putInt("bundle", page); fragmentPage.setArguments(bundle); return fragmentPage; } @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); bundle = getArguments().getInt("bundle"); } @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = View.inflate(getActivity(), R.layout.basefragment, null); recycleview = (RecyclerView) view.findViewById(R.id.recycleview); //recycleview数据 new BaseData().getData(URLUtils.BASE_URL, URLUtils.MAIN_URL, BaseData.LONG_TIME, new ICallback() { @Override public void onResponse(String responseInfo) { RecycleViewBean recycleViewBean = new Gson().fromJson(responseInfo, RecycleViewBean.class); //初始化RecycleView initRecycleView(recycleViewBean); } @Override public void onFailure(String errorInfo) { } }); return view; } private void initRecycleView(RecycleViewBean recycleViewBean) { recycleview.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL)); recycleview.addItemDecoration(new DividerGridItemDecoration(getActivity())); MyRecycleViewAdapter adapter = new MyRecycleViewAdapter(getActivity(), recycleViewBean); recycleview.setAdapter(adapter); }}4、在主activity/fragment设置Adapter adapter=new Adapter(getFragmentManager(),getActivity()); vp_snatch.setAdapter(adapter); tablayout_snatch.setupWithViewPager(vp_snatch); //vp_view.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout)); tablayout_snatch.setTabGravity(TabLayout.GRAVITY_FILL); //填充 //tabLayout.setTabMode(TabLayout.MODE_FIXED); //可滑动 横向// tablayout_snatch.setTabMode(TabLayout.MODE_SCROLLABLE);5、效果图
1 0
- 悬浮控件之Tablayout
- Material Design控件之TabLayout
- Android Material Design 控件之TabLayout 学习
- Android Design Support控件介绍之TabLayout
- Android Material Design控件之TabLayout
- Android常用控件之悬浮窗
- Android常用控件之悬浮窗
- iOS可复用控件之悬浮按钮
- 悬浮控件
- Android常用控件之悬浮窗(Service实现)
- UI控件--TabLayout
- Android悬浮控件
- 桌面悬浮小控件
- android 实现悬浮控件
- android 实现悬浮控件
- Android学习 - 悬浮控件
- android自定义悬浮控件
- 悬浮控件开发笔记
- JavaScript 使用sort()方法来给数组排序
- Linux多线程编程
- JavaScript 数据类型
- UML九种图
- ubuntu中安装nginx并配置SSL
- 悬浮控件之Tablayout
- RGBDSLAM 运行出错:terminate called after throwing an instance of 'pcl::IOException'
- 20170217. OpenGL3 (绘制几何图形)
- PHP 生成短网址
- RStudio创建R程序包
- RTMP直播应用与延时分析
- LeetCode 31. Next Permutation
- BigDecimal 的那些坑事儿
- SmartRoute之远程接口调用和负载