horizontalscrollview+textview简单版
/Hor/res/layout/activity_main.xml 布局
<LinearLayout 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"android:orientation="vertical"><HorizontalScrollView android:id="@+id/hor"android:layout_width="match_parent"android:layout_height="50dp"><LinearLayout android:id="@+id/lin"android:layout_width="wrap_content"android:layout_height="wrap_content"></LinearLayout></HorizontalScrollView><android.support.v4.view.ViewPagerandroid:id="@+id/viewp"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentTop="true" > </android.support.v4.view.ViewPager></LinearLayout>
/Hor/res/layout/f1.xml
<?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" ><TextView android:id="@+id/t"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="sdsss"/></LinearLayout>
com.bawei.hor.MainActivity 主页
package com.bawei.hor;import java.util.ArrayList; import java.util.List;import android.os.Bundle; import android.app.Activity; import android.graphics.Color; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.HorizontalScrollView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.LinearLayout.LayoutParams;public class MainActivity extends FragmentActivity {private String[] name=new String[]{"1","2","3","4","5","6","7"};private List<Fragment> list;private List<TextView> t_list;private HorizontalScrollView horizontalScrollView;private int width;@SuppressWarnings("deprecation")@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);horizontalScrollView = (HorizontalScrollView) findViewById(R.id.hor);LinearLayout linearLayout = (LinearLayout) findViewById(R.id.lin);final ViewPager viewPager= (ViewPager) findViewById(R.id.viewp);//获取屏幕宽度width = getWindowManager().getDefaultDisplay().getWidth();//加载viewpager页面 steData();//viewpager适配FragmentManager fm = getSupportFragmentManager(); viewPager.setAdapter(new MyFragment(fm,list));//viewpager监听viewPager.setOnPageChangeListener(new OnPageChangeListener() {@Overridepublic void onPageSelected(int arg0) {// TODO Auto-generated method stub//判断滑到那页 getpage(arg0);}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {// TODO Auto-generated method stub }@Overridepublic void onPageScrollStateChanged(int arg0) {// TODO Auto-generated method stub }});//最上面导航t_list = new ArrayList<TextView>();for(int i=0;i<name.length;i++){//每个textview的宽度LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(width/3,LayoutParams.WRAP_CONTENT);TextView textView=new TextView(this);//距离上下左右textView.setPadding(20, 20, 20, 20);//赋值 textView.setText(name[i]);//添加集合 t_list.add(textView);//绑定 textView.setTag(i);//将textview放到布局里linearLayout.addView(textView, i,params);//textview 监听 点哪个滑到那页textView.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubint m = (Integer) v.getTag();viewPager.setCurrentItem(m);}});}}//viewpager监听里的private void getpage(int arg0) {// TODO Auto-generated method stub//当前显示textview页TextView textView1 = t_list.get(arg0);for (int i = 0; i < t_list.size(); i++) {//将当前显示的textview放到中间TextView text=t_list.get(arg0);int k = text.getMeasuredWidth();int l = text.getLeft();int s = k / 2 + l - width / 2;horizontalScrollView.smoothScrollTo(s, 0);//得到所有textviewTextView t = t_list.get(i);//给当前显示页面的textview页变色if (!t.equals(textView1)) {t.setTextColor(Color.BLACK);} else {t.setTextColor(Color.RED);}}}//new page页private void steData() {list = new ArrayList<Fragment>();for(int i=0;i<name.length;i++){//传值第几页Fragment1 f1=new Fragment1(name[i]);list.add(f1);}}}
com.bawei.hor.MyFragment viewpager适配
package com.bawei.hor;import java.util.List;import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.PagerAdapter; import android.view.View;public class MyFragment extends FragmentPagerAdapter {List<Fragment> list;public MyFragment(FragmentManager fm, List<Fragment> list) {super(fm);// TODO Auto-generated constructor stubthis.list=list;}@Overridepublic Fragment getItem(int arg0) {// TODO Auto-generated method stubreturn list.get(arg0);}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn list.size();}}
com.bawei.hor.Fragment1 fragment页
package com.bawei.hor;import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView;public class Fragment1 extends Fragment{String name; public Fragment1(String name) {// TODO Auto-generated constructor stubthis.name=name; }@Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// TODO Auto-generated method stubView view=inflater.inflate(R.layout.f1, null);TextView textView= (TextView) view.findViewById(R.id.t);textView.setText(name);return view; } }
转载于:https://www.cnblogs.com/1426837364qqcom/p/5300535.html
horizontalscrollview+textview简单版相关推荐
- 课程设计——模仿网易云UI设计基础(超简单版)
本来想把我自己做的东西放出来给你们的,但是解释起来有点难, 所以就先弄出一个简单版本,也就是可以过关的版本. 先上我的版本,如果要弄这种的可以私聊我好吧-0-. 简单版,好像花了3个小时吧.上图. 直 ...
- Android简单版天气预报,显示天气预报(第二步)
Android简单版天气预报,显示天气预报(第二步) 接着上一步的:[https://blog.csdn.net/weixin_44889138/article/details/102748057] ...
- android简单歌词,《Android_MP3播放器(初学简单版_歌名、歌手、歌词同步显示)》.doc...
Android_MP3播放器(初学简单版) --乐拐 这是我学习Android以来的第二个程序--MP3播放器(简单版),我的第一个程序是比较实用的通讯录(文档地址是:/view/d013f64fc8 ...
- LeetCode 11. Container With Most Water--Java 解法--困雨水简单版
LeetCode 11. Container With Most Water–Java 解法 此文首发于我的个人博客:LeetCode 11. Container With Most Water–Ja ...
- luogu P3808 【模板】AC自动机(简单版)
二次联通门 : luogu P3808 [模板]AC自动机(简单版) /*luogu P3808 [模板]AC自动机(简单版)手速越来越快了10分钟一个AC自动机一遍过编译 + 一边AC感觉不错我也就 ...
- 008 数据结构逆向—数组(简单版)
文章目录 前言 逆向背包数组 一维背包数组 二维背包数组 数组结构分析 总结 前言 对于游戏逆向来说,核心需求其实就只有两个 追踪游戏数据 定位游戏功能call 对于追踪游戏数据来说,单纯从一个寄存器 ...
- 【模板】AC自动机(简单版)
题目背景 通过套取数据而直接"打表"过题者,是作弊行为,发现即棕名. 这是一道简单的AC自动机模板题. 用于检测正确性以及算法常数. 为了防止卡OJ,在保证正确的基础上只有两组数据 ...
- P3808,P3796-[模板]AC自动机(简单版/加强版)
简单版 题目链接: https://www.luogu.org/problem/P3808 题目大意 nnn个模式串,一个文本串,求有多少个模式串出现在文本串里. 解题思路 普通ACACAC自动机不解 ...
- C++学习之路 | PTA乙级—— 1089 狼人杀-简单版(精简)
1089 狼人杀-简单版 (20 分)以下文字摘自<灵机一动·好玩的数学>:"狼人杀"游戏分为狼人.好人两大阵营.在一局"狼人杀"游戏中,1 号玩家 ...
- node+express项目链接MySQL数据库(最简单版)
node+express项目链接MySQL数据库(最简单版) (假定你node+express项目已创建完成,可参照这里) 第一步.安装mysql驱动 npm install mysql --save ...
最新文章
- 豆瓣FLASHMP3播放器
- 小白学数据分析-----聚类分析理论之K-means理论篇
- 极光推送服务端API(定时推送任务,推送到指定设备,推送到所有设备)
- solor mysql_solr 同步 mysql
- XmlDocument类
- Android 编码规范:(七)避免使用终结方法
- 计算机专业英语critical,计算机专业英语教程汇总.ppt
- xheditor可视化富文本编辑器
- matlab画图plot以及自动保存图像
- excel冻结窗口_excel表格怎么来冻结窗口同时冻结行和列
- Computer Viruses
- ueditor如何改变图片大小等比缩放
- Python笔记 · 鸭子类型 / Duck Typing
- SQL Server 2008 R2自定义快捷键快捷查询表的内容
- html5页面加载执行动作,页面加载完成后执行JS的5种方式
- 牛客算法竞赛入门笔记1
- 计算机网络技术与应用的ppt,计算机网络技术与应用.ppt
- pixhawk 源码分析-SPI驱动-MS5611
- linux下进程的管理,Linux下的进程之进程管理
- 人工智能技术突破以及教育放量未来可期 增持评级