TabLayout与ViewPager实现头部标题与内容页联动的效果
来源:互联网 发布:安卓市场源码 编辑:程序博客网 时间:2024/05/18 03:22
1.添加依赖
compile 'com.android.support:design:25.3.1'
2.布局文件
<?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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context="com.example.tablayout.MainActivity">
<android.support.design.widget.TabLayout
android:id="@+id/tab"
android:layout_width="match_parent"
app:tabTextColor="#f00"
app:tabSelectedTextColor="#0f0"
app:tabIndicatorColor="#00f"
android:layout_height="50dp">
</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.主类
public class MainActivity extends AppCompatActivity {
TabLayout tab;
ViewPager vp;
List<TextView> list;
String[] strArray = {"社会","军事","体育", "情感", "情感", "情感", "情感", "情感", "情感", "情感"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tab = (TabLayout) findViewById(R.id.tab);
vp = (ViewPager) findViewById(R.id.vp);
initVP();
tab.setTabMode(TabLayout.MODE_SCROLLABLE);
tab.setupWithViewPager(vp);
}
private void initVP() {
list = new ArrayList<TextView>();
for (int i = 0; i < 10; i++) {
TextView tv = new TextView(this);
tv.setText("标题" + i);
tv.setTextColor(Color.BLACK);
tv.setTextSize(30);
list.add(tv);
}
MyPagerAdapter adapter = new MyPagerAdapter();
vp.setAdapter(adapter);
}
class MyPagerAdapter extends PagerAdapter{
@Override
public int getCount() {
return list.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(list.get(position));
return list.get(position);
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
//获取标题
@Override
public CharSequence getPageTitle(int position) {
return strArray[position];
}
}
}
- TabLayout与ViewPager实现头部标题与内容页联动的效果
- ViewPager+Tablayout实现页面标题联动效果
- Tablayout与viewpager的联动
- TabLayout与ViewPager的联动
- TabLayout和ViewPager的联动效果实现
- tabLayout与viewPager联动
- Tablayout与viewpager联动
- TabLayout与ViewPager联动
- Tablayout与ViewPager联动时不显示Tablayout上面的标题
- ViewPager+Tablayout的联动效果
- TabLayout与ViewPager的联动使用
- Tablayout与Viewpage实现联动效果
- ViewPager与TabLayout纵向实现效果
- Tablayout+Viewpager+fragment实现联动效果
- Android之TabLayout+ViewPager+Fragment实现标题栏与页面联动
- ViewPager+Fragment+TabLayout实现的头部滑动
- 三:tabLayout与ViewPager联动使用
- ViewPager与小圆点的联动效果
- js中函数参数arguments、callee、caller,值传递、重载
- Python3 Anaconda3下import cv2错误解决方案
- 学习 RTOS -- 认识 RTOS 和最简单的 OS(一)
- C# 获取当前路径7种方法
- c#中的动态多态
- TabLayout与ViewPager实现头部标题与内容页联动的效果
- 树莓派创建windows可访问的私人网盘
- DFD
- 数字炸弹
- 搜狐畅游前端开发笔试题(问答题部分)
- Java MySQL 中文乱码
- ubuntu使用shadowsocks
- LTE中的DRX
- 指针 引用