自定义水平滚动栏(关联ViewPager)
来源:互联网 发布:科技成就梦想,网络 编辑:程序博客网 时间:2024/06/06 01:34
<span style="font-family:Comic Sans MS;font-size:18px;">public class HorizontalScrollViewDiy extends LinearLayout{ private LinearLayout linearLayoutchild; private ViewPager mviewPager; private TextView mproject; private List<String> mlist=new ArrayList<String>(); private List<TextView> tlist=new ArrayList<TextView>(); private Map<Integer,TextView> map=new HashMap<Integer, TextView>(); public HorizontalScrollViewDiy(Context context) { super(context); initview(); } public HorizontalScrollViewDiy(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); initview(); } public HorizontalScrollViewDiy(Context context, AttributeSet attrs) { super(context, attrs); initview(); } private void initview(){ LayoutInflater.from(getContext()).inflate(R.layout.horizontalscrollviewdiy,this); linearLayoutchild=(LinearLayout)findViewById(R.id.linearlayoutchild); } public void setProject(List<String> list,int textsize,int width,final int textcolor,final int textChangeColor,final int textChangeBackColor){ mlist.clear(); mlist=list; for(int i=0;i<mlist.size();i++){ mproject=new TextView(getContext()); mproject.setText(mlist.get(i)); mproject.setTextColor(getResources().getColor(textcolor)); mproject.setTextSize(textsize); mproject.setGravity(Gravity.CENTER); mproject.setLayoutParams(new ViewGroup.LayoutParams(width, ViewGroup.LayoutParams.MATCH_PARENT)); mproject.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { tlist.add((TextView) view); for(int j=0;j<map.size();j++){ if((TextView)view==map.get(j)){ mviewPager.setCurrentItem(j); } } if(tlist.get(0)!=tlist.get(1)){ tlist.get(1).setTextColor(getResources().getColor(textChangeColor)); tlist.get(1).setBackgroundColor(getResources().getColor(textChangeBackColor)); tlist.get(0).setTextColor(getResources().getColor(textcolor)); tlist.get(0).setBackgroundColor(getDrawingCacheBackgroundColor()); } tlist.remove(0); } }); map.put(i, mproject); linearLayoutchild.addView(mproject); } mviewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int i, float v, int i2) { } @Override public void onPageSelected(int i) { tlist.add(map.get(i)); map.get(i).setTextColor(getResources().getColor(textChangeColor)); map.get(i).setBackgroundColor(getResources().getColor(textChangeBackColor)); tlist.get(0).setTextColor(getResources().getColor(textcolor)); tlist.get(0).setBackgroundColor(getDrawingCacheBackgroundColor()); tlist.remove(0); } @Override public void onPageScrollStateChanged(int i) { } }); map.get(0).setTextColor(getResources().getColor(textChangeColor)); map.get(0).setBackgroundColor(getResources().getColor(textChangeBackColor)); tlist.add(map.get(0)); } public void setViewPager(ViewPager viewPager){ mviewPager=viewPager; }}</span>
<span style="font-family:Comic Sans MS;font-size:18px;"></span><pre name="code" class="html"><?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:id="@+id/linearlayoutparent" > <HorizontalScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/horizontalscrollviewdiy" android:scrollbars="none" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/linearlayoutchild" android:gravity="center_vertical" > </LinearLayout> </HorizontalScrollView> </LinearLayout>
0 0
- 自定义水平滚动栏(关联ViewPager)
- ViewPager+scrollview的水平滚动
- 水平滚动和ViewPager联动
- Viewpager+Fragment联动+水平滚动
- ViewPager(三):RadioGroup+RadioButton+TextView水平滚动条
- 自定义的水平滚动条
- 水平滚动_Android 自定义 HorizontalScrollView
- android开发游记:viewpager关联tabs,自定义tabs实现翻页滚动效果
- 自定义View实现文字跑马灯效果(垂直滚动和水平滚动)
- 自定义View实现水平滚动控件
- Android 自定义水平滚动的容器
- 自定义可水平滚动的View
- 自定义 JS 水平滚动字体插件
- 自定义View实现水平滚动控件
- android自定义动态滚动tab+viewpager+fragment
- Android 自定义ViewPager嵌套滚动兼容
- 滚动字幕(水平,垂直)
- android自定义ViewPager之——水平滑动弹性效果
- 2个mysql数据结构同步方法!
- 记录一下如何删除sql server200
- Gentoo安装详解(四)--安装X桌面环境
- external control freeswitch presence
- iOS 之多线程用法示例
- 自定义水平滚动栏(关联ViewPager)
- Delphi XE6,Rad Studio XE6 Update 1 官方下载(附Delphi XE6破解)
- 淘宝客户端多应用内置
- JAVA中线程同步的方法
- qt-embedded-4.7.4往海思hi3518上的移植
- Struts2拦截器之拦截器的方法过滤
- 批号分摊(预调拨可用于门店铺货)sql存储过程
- PopupWindow中ListView无法点击的问题
- 如何实现TCP和UDP传输