/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简单版相关推荐

  1. 课程设计——模仿网易云UI设计基础(超简单版)

    本来想把我自己做的东西放出来给你们的,但是解释起来有点难, 所以就先弄出一个简单版本,也就是可以过关的版本. 先上我的版本,如果要弄这种的可以私聊我好吧-0-. 简单版,好像花了3个小时吧.上图. 直 ...

  2. Android简单版天气预报,显示天气预报(第二步)

    Android简单版天气预报,显示天气预报(第二步) 接着上一步的:[https://blog.csdn.net/weixin_44889138/article/details/102748057] ...

  3. android简单歌词,《Android_MP3播放器(初学简单版_歌名、歌手、歌词同步显示)》.doc...

    Android_MP3播放器(初学简单版) --乐拐 这是我学习Android以来的第二个程序--MP3播放器(简单版),我的第一个程序是比较实用的通讯录(文档地址是:/view/d013f64fc8 ...

  4. LeetCode 11. Container With Most Water--Java 解法--困雨水简单版

    LeetCode 11. Container With Most Water–Java 解法 此文首发于我的个人博客:LeetCode 11. Container With Most Water–Ja ...

  5. luogu P3808 【模板】AC自动机(简单版)

    二次联通门 : luogu P3808 [模板]AC自动机(简单版) /*luogu P3808 [模板]AC自动机(简单版)手速越来越快了10分钟一个AC自动机一遍过编译 + 一边AC感觉不错我也就 ...

  6. 008 数据结构逆向—数组(简单版)

    文章目录 前言 逆向背包数组 一维背包数组 二维背包数组 数组结构分析 总结 前言 对于游戏逆向来说,核心需求其实就只有两个 追踪游戏数据 定位游戏功能call 对于追踪游戏数据来说,单纯从一个寄存器 ...

  7. 【模板】AC自动机(简单版)

    题目背景 通过套取数据而直接"打表"过题者,是作弊行为,发现即棕名. 这是一道简单的AC自动机模板题. 用于检测正确性以及算法常数. 为了防止卡OJ,在保证正确的基础上只有两组数据 ...

  8. P3808,P3796-[模板]AC自动机(简单版/加强版)

    简单版 题目链接: https://www.luogu.org/problem/P3808 题目大意 nnn个模式串,一个文本串,求有多少个模式串出现在文本串里. 解题思路 普通ACACAC自动机不解 ...

  9. C++学习之路 | PTA乙级—— 1089 狼人杀-简单版(精简)

    1089 狼人杀-简单版 (20 分)以下文字摘自<灵机一动·好玩的数学>:"狼人杀"游戏分为狼人.好人两大阵营.在一局"狼人杀"游戏中,1 号玩家 ...

  10. node+express项目链接MySQL数据库(最简单版)

    node+express项目链接MySQL数据库(最简单版) (假定你node+express项目已创建完成,可参照这里) 第一步.安装mysql驱动 npm install mysql --save ...

最新文章

  1. 豆瓣FLASHMP3播放器
  2. 小白学数据分析-----聚类分析理论之K-means理论篇
  3. 极光推送服务端API(定时推送任务,推送到指定设备,推送到所有设备)
  4. solor mysql_solr 同步 mysql
  5. XmlDocument类
  6. Android 编码规范:(七)避免使用终结方法
  7. 计算机专业英语critical,计算机专业英语教程汇总.ppt
  8. xheditor可视化富文本编辑器
  9. matlab画图plot以及自动保存图像
  10. excel冻结窗口_excel表格怎么来冻结窗口同时冻结行和列
  11. Computer Viruses
  12. ueditor如何改变图片大小等比缩放
  13. Python笔记 · 鸭子类型 / Duck Typing
  14. SQL Server 2008 R2自定义快捷键快捷查询表的内容
  15. html5页面加载执行动作,页面加载完成后执行JS的5种方式
  16. 牛客算法竞赛入门笔记1
  17. 计算机网络技术与应用的ppt,计算机网络技术与应用.ppt
  18. pixhawk 源码分析-SPI驱动-MS5611
  19. linux下进程的管理,Linux下的进程之进程管理
  20. 人工智能技术突破以及教育放量未来可期 增持评级

热门文章

  1. 生成swc库文件若干方法
  2. [原创].关于SD卡的隐藏分区的认识过程及结果
  3. SQL Server INFORMATION_SCHEMA
  4. 80后的我们为什么不结婚?
  5. Android UI学习之---Button
  6. Linux内核线程kernel thread详解--Linux进程的管理与调度(十)
  7. OpenCV利用高斯模糊可以实现毛玻璃的特效
  8. PostgreSQL 角色与用户管理介绍
  9. S3C2440时钟电源管理
  10. 关于VFS文件系统中的superblock、inode、d_entry和file数据结构