TabLayout标题和Fragment联动
来源:互联网 发布:sql两表连接查询 编辑:程序博客网 时间:2024/05/18 01:20
1.导包design
implementation 'com.android.support:design:26.1.0'
2.主布局
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="comqq.example.hasee.myapplication.MainActivity" android:orientation="horizontal"> <android.support.design.widget.TabLayout android:layout_width="match_parent" android:layout_height="60dp" android:id="@+id/tl" android:background="#fff342" app:tabIndicatorColor="@color/colorAccent" app:tabIndicatorHeight="4dp" //点击选中时文字改变颜色 app:tabSelectedTextColor="@color/colorAccent" app:tabTextColor="#000000"> </android.support.design.widget.TabLayout> <android.support.v4.view.ViewPager android:id="@+id/vp" android:layout_width="match_parent" android:layout_height="match_parent"></android.support.v4.view.ViewPager></LinearLayout>
3.Fragment代码
public class BlankFragment extends Fragment { public BlankFragment() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View inflate = inflater.inflate(R.layout.fragment_blank, container, false); TextView tv1 = inflate.findViewById(R.id.tv1); String string = getArguments().getString("key"); tv1.setText(string); return inflate; }}
4.Fragment布局
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="comqq.example.hasee.myapplication.BlankFragment"> <!-- TODO: Update blank fragment layout --> <TextView android:id="@+id/tv1" android:layout_width="match_parent" android:layout_height="match_parent" android:text="@string/hello_blank_fragment" /></FrameLayout>
5.主函数
public class MainActivity extends AppCompatActivity { private ViewPager vp; private TabLayout tl; private ArrayList<Fragment> arr; private ArrayList<String> arr2; private spq sp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); vp= (ViewPager) findViewById(R.id.vp); tl= (TabLayout) findViewById(R.id.tl); arr=new ArrayList<>(); arr2=new ArrayList<>(); for (int i = 0; i < 10; i++) { BlankFragment blan = new BlankFragment(); Bundle bundle = new Bundle(); bundle.putString("key","第"+i+"页"); blan.setArguments(bundle); arr.add(blan); } sp = new spq(getSupportFragmentManager(), arr, arr2); vp.setAdapter(sp); tl.setupWithViewPager(vp);// 设置tablayout为滚动模式 tl.setTabMode(TabLayout.MODE_SCROLLABLE); } public void start(View view) { // 删除tablayout对应的指定标签// tablayout.removeTabAt(4); // 按钮点击事件,点击删除viewpager的某一个页面 sp.removePos(4); }}
6.Fragment适配器
public class spq extends FragmentPagerAdapter { private ArrayList<Fragment> arr; private ArrayList<String> arr2; public spq(FragmentManager fm, ArrayList<Fragment> arr, ArrayList<String> arr2) { super(fm); this.arr = arr; this.arr2 = arr2; } @Override public Fragment getItem(int position) { return arr.get(position); } @Override public int getCount() { return arr.size(); } public void removePos(int pos){ arr.remove(pos); arr2.remove(pos); this.notifyDataSetChanged(); //数据源发生变化,提醒更新 } @Override public CharSequence getPageTitle(int position) { return arr2.get(position); }}
阅读全文
0 0
- TabLayout标题和Fragment联动
- TabLayout+Fragment和底部导航联动
- Tablayout和Fragment联动+ListView接口变换展示
- TabLayout,ViewPager,Fragment实现联动
- TabLayout,ViewPager,Fragment,实现联动
- Tablayout + Viewpager + Fragment 联动显示
- TabLayout和ViewPager联动
- TabLayout和Viewpager联动
- ViewPager+Tablayout实现页面标题联动效果
- Tablayout+Viewpager+fragment实现联动效果
- TabLayout,PullToRefresh,ImageLoader,ViewPager,Fragment联动效果
- Design下的TabLayout和Fragment和ViewPager联动的简单使用
- 4.8.3 在 一个 Fragment 里面实现ViewPager 和TabLayout 进行联动
- TabLayout+Fragment+ViewPager的标题滑动使用
- 实现TabLayout+ViewPager+Fragment头目的联动模式
- Android之TabLayout+ViewPager+Fragment实现标题栏与页面联动
- TabLayout和ViewPager的联动使用
- Viewpager 和 TabLayout 的联动问题
- html盒子边框样式制作border-radius
- FloatActionButtonl右下角的小火箭
- OpenCV_操作像素
- TCP/IP,SOAP,UDP,SOCKET传输大量数据,思想
- 代码鲁棒性
- TabLayout标题和Fragment联动
- math
- python中文件json的用法
- 【第七届蓝桥杯】寒假作业
- FreeRTOS 任务概述
- 网络七层协议的形象说明
- c++虚函数
- 深度 | 谷歌的新CNN特征可视化方法,构造出一个华丽繁复的新世界
- AI吉尼斯:那些你不知道的人工智能之“最”