HorizontalScrollView横向滑动
来源:互联网 发布:第四方支付钱包源码 编辑:程序博客网 时间:2024/05/21 11:21
//废话不多说直接上代码,想必有点基础的应该一看就懂吧=.=
//首先就是MainActivity的布局
<?xml version="1.0" encoding="utf-8"?><RelativeLayout 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" tools:context="com.bwie.yk.MainActivity"><LinearLayout android:id="@+id/lin" android:layout_width="match_parent" android:layout_height="wrap_content"> <HorizontalScrollView android:id="@+id/hsv" android:layout_width="wrap_content" android:layout_height="wrap_content"> <LinearLayout android:id="@+id/ll_head" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"> </LinearLayout> </HorizontalScrollView></LinearLayout> <android.support.v4.view.ViewPager android:layout_below="@id/lin" android:id="@+id/viewpage" android:layout_width="wrap_content" android:layout_height="wrap_content" > </android.support.v4.view.ViewPager></RelativeLayout>//接着就是MainActivity了
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private LinearLayout ll_head; private HorizontalScrollView hsv; private String[] titles; private List<TextView> texts; private ViewPager pager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); titles=new String[]{"频道1","频道2","频道3","频道4","频道5","频道6","频道7","频道8","频道9","频道10"}; getID(); texts=new ArrayList<>(); for (int i=0;i<titles.length;i++){ TextView textView=new TextView(this); texts.add(textView); //给控件设置文字 textView.setText(titles[i]); //给空间设置字体大小 textView.setTextSize(20); textView.setTextColor(Color.BLACK); if(i==0){ textView.setTextColor(Color.RED); } textView.setId(i); //初始化一个配置参数 LinearLayout.LayoutParams layoutParams=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT); //给参数设置margin值 layoutParams.setMargins(20,10,20,10); textView.setOnClickListener(this); //把参数摆放的参数设置近期 ll_head.addView(textView,layoutParams); } pager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) { @Override public Fragment getItem(int position) { return MFragment.newInstance(titles[position]); } @Override public int getCount() { return titles.length; } }); //viewpage 的监听事件 pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { for(int i=0;i<texts.size();i++){ if(i==position){ texts.get(position).setTextColor(Color.RED); }else{ texts.get(i).setTextColor(Color.BLACK); } } } @Override public void onPageScrollStateChanged(int state) { } }); } //获取控件id public void getID() { ll_head =(LinearLayout)findViewById(R.id.ll_head); hsv =(HorizontalScrollView)findViewById(R.id.hsv); pager = (ViewPager)findViewById(R.id.viewpage); } //textview点击监听,切换到对应的fragment @Override public void onClick(View v) { int id=v.getId(); pager.setCurrentItem(id); }}
//下面就是fragment的布局,在这里fragment里没放控件,各位也可以在其中添加一些其它功能
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FF0" ></RelativeLayout>
//下面是fragment
public class MFragment extends Fragment { private View view; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { if(view==null){ view = View.inflate(getActivity(), R.layout.mfragment,null); } ViewGroup group= (ViewGroup) view.getParent(); if(group!=null){ group.removeView(view); } return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); } public static Fragment newInstance(String title){ MFragment fragment=new MFragment(); Bundle bundle=new Bundle(); bundle.putString("title",title); fragment.setArguments(bundle); return fragment; }}//这是代码效果图希望可以帮助到各位
阅读全文
2 0
- 横向滑动HorizontalScrollView+Gridview
- android 横向滑动 HorizontalScrollView
- HorizontalScrollView横向滑动
- HorizontalScrollView横向滑动
- HorizontalScrollView 横向滑动菜单
- HorizontalScrollView实现listView 横向滑动
- HorizontalScrollView横向滑动静态方法
- 使用HorizontalScrollView 实现ListView横向滑动
- Android 自定义 HorizontalScrollView 横向滑动效果
- 无限横向滑动菜单(自定义HorizontalScrollView+ViewPager)
- Android中使用HorizontalScrollView横向滑动布局
- HorizontalScrollView嵌套GridView实现横向滑动
- 自定义HorizontalScrollView(横向滑动的ScrollView)
- 使用HorizontalScrollView实现横向滑动广告栏
- HorizontalScrollView 和GridView 实现横向滑动
- 横向滑动菜单:horizontalscrollview+viewpager+Fragment
- wzq.HorizontalScrollView——横向滑动菜单
- Scrollview嵌套HorizontalScrollView导致横向滑动卡顿现象解决
- Lesson 11 算术运算符与算术表达式 实践项目:1-分离各位数 2-分离整数和小数部分 项目3-如何买玫瑰? 项目4-玩数字 项目5-坐标转换
- Ubuntu16.04深度学习一键安装脚本(支持tensorflow、keras、caffe)
- 排序算法知识点
- 3541414.html
- 2017年迄今最新人工智能资源盘点, 分享给你, 快来看看吧!
- HorizontalScrollView横向滑动
- 双边滤波加速
- java实现TreeSet,迭代器使用二叉查找树,每个节点有父节点链
- 模式总结
- 计算机网络知识点总结
- 一生中无能为力的十件事
- temp
- 《SSO CAS单点系列》之 15分钟让你了解SSO技术到底是个什么鬼!
- mysql基本操作