tablayout动态添加fragment
来源:互联网 发布:小班美工区域观察记录 编辑:程序博客网 时间:2024/06/05 00:01
一个fragment通过tablayout的数量来静态创建
效果图(这里就一个fragment)
1导入依赖
compile 'com.android.support:design:26.0.0-alpha1'2main布局文件
<android.support.design.widget.TabLayout android:id="@+id/tabLayout" android:layout_width="match_parent" android:layout_height="wrap_content" <!-- 下方滚动的下划线颜色 --> app:tabIndicatorColor="#33aa22" <!-- 下方指示条的高度 --> app:tabIndicatorHeight="5dp" <!-- tab被选中后,文字的颜色 --> app:tabSelectedTextColor="#33aa22" <!-- tab中字体的颜色 --> app:tabTextColor="#33aa22" <!-- tab中设置横向scroll --> app:tabMode="scrollable" /> <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/viewPage" ></android.support.v4.view.ViewPager>3MainActivity
import android.os.Bundle;import android.support.design.widget.TabLayout;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity { private TabLayout tabLayout; private ViewPager viewPage; private List<Fragment> frags; private List<String> titles; private Fragment[] f; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); viewPage= (ViewPager) findViewById(R.id.viewPage); tabLayout= (TabLayout) findViewById(R.id.tabLayout); tabLayout.setTabGravity(TabLayout.GRAVITY_FILL); tabLayout.setTabMode(TabLayout.MODE_FIXED); frags=new ArrayList<>(); frags.add(new Fragment1()); titles=new ArrayList<>(); titles.add("标题1"); titles.add("标题2"); titles.add("标题3"); titles.add("标题4"); titles.add("标题5"); tabLayout.setupWithViewPager(viewPage); Myadapter adapter=new Myadapter(getSupportFragmentManager()); //联动 viewPage.setAdapter(adapter); } //适配器 class Myadapter extends FragmentPagerAdapter { public Myadapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return getfragment(position); } @Override public int getCount() { return titles.size(); } @Override public CharSequence getPageTitle(int position) { return titles.get(position); } } //动态创建Fragment的方法 public Fragment getfragment(int position){ f=new Fragment[5]; Fragment fg = f[position]; if (fg == null) { fg = Fragment1.getiniturl(position+""); f[position] = fg; } return fg; }}4fragment
import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;import static com.example.dell.myapplication.R.layout.item;/** * Created by dell on 2017/11/8. */public class Fragment1 extends Fragment{ private View v; private TextView tv; //回调用来接收参数 public static Fragment1 getiniturl(String gc_id) { Fragment1 twoFragment = new Fragment1(); Bundle bundle = new Bundle(); bundle.putString("gc_id", gc_id); twoFragment.setArguments(bundle); return twoFragment; } @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { v=View.inflate(getActivity(), item,null); //获取参数 String gc_id = getArguments().getString("gc_id"); tv=v.findViewById(R.id.tv); tv.setText("标题"+gc_id); return v; }}
5创建fragment布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="sssssssssssssssss" android:id="@+id/tv" /></LinearLayout>
这样就可以实现了
相关博客
http://blog.csdn.net/qq_39734239/article/details/77978394
阅读全文
1 0
- tablayout动态添加fragment
- 动态加载fragment配合TabLayout
- tablayout结合动态创建fragment
- TabLayout实现动态加载Fragment
- Fragment的创建和添加tablayout
- TabLayout + ViewPager + Fragment 实现动态框架
- Fragment动态添加内容
- 动态添加Fragment碎片
- Activity动态添加fragment
- Android 动态添加Fragment
- 动态添加Fragment
- Fragment动态添加碎片
- Activity动态添加Fragment
- Android 动态添加Fragment
- 动态添加Fragment
- 动态添加Fragment
- 动态添加 v4 fragment
- 动态添加Fragment
- centos 6.5 nginx服务器配置
- 图像的四种类型及简述
- javac编译原理
- java 中 12.0f-11.9f=0.10000038,"减不尽"为什么?
- leetcode 96|95. Unique Binary Search Trees 1|2
- tablayout动态添加fragment
- 面试官之初体验,请考虑
- 学习总结——按下按键灯亮,再次按下按键,灯灭
- 正则表达式快速入门教程
- v-on
- 用canvas做视频截图遇到的坑(已填坑)
- 11 月份我发起了一个编程话题,约你来讨论(有福利)
- mfc 断点里有叹号 并且断点不可用
- Struts2-014-详解result节点