Fragment+Viewpager+嵌套Tablelayout+fragment
来源:互联网 发布:宁波seo大牛 编辑:程序博客网 时间:2024/06/05 04:28
一个典型模板
创建几个Fragment和布局,这里写一个例子就不多写了,因为都一样。记得给布局一个颜色
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 com.bwei.czx.czxviewpager_fragment.R;/** * Created by czx on 2017/10/26. */public class Fragment11 extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment1_layout,null); return view; }}
Activity布局
<?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" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:id="@+id/viewpager"> </android.support.v4.view.ViewPager> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:orientation="horizontal"> <Button android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:text="按钮1" android:id="@+id/btn1"/> <Button android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:text="按钮2" android:id="@+id/btn2"/> <Button android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:text="按钮3" android:id="@+id/btn3"/> </LinearLayout></LinearLayout>
Activity代码:
import android.os.Bundle;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 android.view.View;import android.widget.Button;import com.bwei.czx.czxviewpager_fragment.fragment.Fragment1;import com.bwei.czx.czxviewpager_fragment.fragment.Fragment2;import com.bwei.czx.czxviewpager_fragment.fragment.Fragment3;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private ViewPager viewPager; private Button btn1; private Button btn2; private Button btn3; private List<Button> buttons; private List<Fragment> fragments; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); viewPager = (ViewPager) findViewById(R.id.viewpager); btn1 = (Button) findViewById(R.id.btn1); btn2 = (Button) findViewById(R.id.btn2); btn3 = (Button) findViewById(R.id.btn3); btn1.setOnClickListener(this); btn2.setOnClickListener(this); btn3.setOnClickListener(this); fragments = new ArrayList<>(); Fragment1 fragment1 = new Fragment1(); Fragment2 fragment2 = new Fragment2(); Fragment3 fragment3 = new Fragment3(); fragments.add(fragment1); fragments.add(fragment2); fragments.add(fragment3); FragmentManager fm = getSupportFragmentManager(); MyAdapter adapter = new MyAdapter(fm); viewPager.setAdapter(adapter); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.btn1: viewPager.setCurrentItem(0); break; case R.id.btn2: viewPager.setCurrentItem(1); break; case R.id.btn3: viewPager.setCurrentItem(2); break; } } class MyAdapter extends FragmentPagerAdapter{ public MyAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return fragments.get(position); } @Override public int getCount() { return fragments.size(); } }}
Fragment1中的代码
import android.os.Bundle;import android.support.annotation.Nullable;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.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import com.bwei.czx.czxviewpager_fragment.R;import java.util.ArrayList;import java.util.List;/** * Created by czx on 2017/10/26. */public class Fragment1 extends Fragment { private TabLayout tabLayout; private ViewPager viewPager; String[] ArrTitle = {"标题1","标题2","标题3","标题4"}; private List<Fragment> fragments; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment1_layout,null); tabLayout = (TabLayout) view.findViewById(R.id.tablayout); viewPager = (ViewPager) view.findViewById(R.id.f1viewpager); //配置 tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE); tabLayout.setupWithViewPager(viewPager); fragments = new ArrayList<>(); Fragment11 fragment11 = new Fragment11(); Fragment22 fragment22 = new Fragment22(); Fragment33 fragment33 = new Fragment33(); Fragment44 fragment44 = new Fragment44(); fragments.add(fragment11); fragments.add(fragment22); fragments.add(fragment33); fragments.add(fragment44); FragmentManager fm = getActivity().getSupportFragmentManager(); Myf1Adpter adpter = new Myf1Adpter(fm); viewPager.setAdapter(adpter); return view; } class Myf1Adpter extends FragmentPagerAdapter{ public Myf1Adpter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return fragments.get(position); } @Override public int getCount() { return fragments.size(); } @Override public CharSequence getPageTitle(int position) { return ArrTitle[position]; } }}
Fragment1中的布局
<?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" android:background="#0ff"> <android.support.design.widget.TabLayout android:layout_width="match_parent" android:layout_height="50dp" android:id="@+id/tablayout"> </android.support.design.widget.TabLayout> <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:id="@+id/f1viewpager"> </android.support.v4.view.ViewPager></LinearLayout>
OK完成...
阅读全文
0 0
- Fragment+Viewpager+嵌套Tablelayout+fragment
- TableLayout+Fragment +Viewpager 联动
- viewPager+fragment嵌套viewPager+fragment
- ViewPager+Fragment嵌套ViewPager+Fragment
- android tablelayout嵌套tablayout Fragment嵌套Fragment
- Fragment嵌套Fragment和Viewpager
- Fragment嵌套Fragment和Viewpager
- Fragment里面嵌套ViewPager
- ViewPager+Fragment嵌套
- Fragment嵌套ViewPager
- fragment嵌套viewpager
- ViewPager嵌套Fragment
- Android ViewPager嵌套Fragment
- Viewpager+Fragment嵌套Viewpager+Fragment空白页问题
- ViewPager+Fragment以及Fragment嵌套ViewPager
- ViewPager嵌套Fragment再嵌套ViewPager嵌套Fragment
- 安卓布局 viewpager+tablelayout+fragment
- Fragment嵌套Fragment+ViewPager空白问题
- Maven系列--"maven-compiler-plugin"的使用
- shell 脚本中set-x 与set+x的区别
- Java Thread.sleep的InterruptedException
- Qt中设置统一控件风格
- mysql 查询中文首字母开头
- Fragment+Viewpager+嵌套Tablelayout+fragment
- C++ 学习笔记
- 关于sublime运行python3
- JavaScript
- windows下安装rabbitmq的步骤详解
- java 内部类和静态内部类的区别
- 启动redis出现Creating Server TCP listening socket *:6379: bind: No such file or directory
- ubuntu16.04如何安装搜狗输入法
- NMOS/PMOS原理基础(祥:应该有点问题)