Android使用滚动+片段仿京东分类效果

  

,本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下
  

  

 Android使用滚动+片段仿京东分类效果

  

实现思路:首先说下布的局,整个是一个横向的线性布的局,左边是一个滚动视图,右边是一个FrameLayout,在代码中动态向滚动视图中添加TextView,然后根据TextView的点击事件使用片段替换FrameLayout

  

首先看下布局:
  

        & lt; LinearLayout xmlns: android=" http://schemas.android.com/apk/res/android "   xmlns:工具=" http://schemas.android.com/tools "   android: layout_width=" match_parent "   android: layout_height=" match_parent "   面向android:="水平"   工具:上下文=" www.jdsort.com.jdsort.MainActivity "比;      & lt;滚动视图   android: id=癅 + id/滚动视图”   android: layout_width=" 0 dp”   android: layout_height=" wrap_content "   android: layout_weight=" 1 "   android:滚动条="没有"比;   LinearLayout & lt;   android: id=癅 + linearlayout id/?   android: layout_width=" match_parent "   android: layout_height=" match_parent "   android:重力=" center_horizontal "   面向android:=按怪薄?祝辞   & lt;/ScrollView>      & lt; FrameLayout   android: id=癅 + id/framelayout”   android: layout_width=" 0 dp”   android: layout_height=" match_parent "   android: layout_weight=3/比;   & lt;/LinearLayout>   之前      

MainActivity代码:
  

        公共类MainActivity FragmentActivity延伸实现视图。OnClickListener {      私人String[]标题={"常用分类”、“潮流女装”,“品牌男装”,“内衣配饰”,“家用电器”,“手机数码”、“电脑办公”,“个护化妆”,“母婴频道”,“食物生鲜”,“酒水饮料”,“家居家纺”、“整车车品”,“鞋靴箱包”、“运动户外”,“图书”,“玩具乐器”,“钟表”,“居家生活”、“珠宝饰品”,“音像制品”,“家具建材”、“计生情趣”、“营养保健”、“奢侈礼品”,“生活服务”、“旅游出行"};   私人ScrollView mScrollView;   私人FrameLayout mFrameLayout;//装装滚动视图的项的TextView的数组   私人TextView [] textViewArray;//装滚动视图的项的数组   私人观点[]的观点;   上下文语境;   @Override   保护无效onCreate(包savedInstanceState) {   super.onCreate (savedInstanceState);   setContentView (R.layout.activity_main);   上下文=;      textViewArray=new TextView [titles.length];   观点=新的视图(titles.length);      initView ();      .beginTransaction getSupportFragmentManager () () .replace (R.id.framelayout,新的FragmentOne ()) .commit ();   }      私人空间initView () {   mScrollView=(滚动视图)findViewById (R.id.scrollview);   addView ();   changeTextColor (0);      mFrameLayout=(FrameLayout) findViewById (R.id.framelayout);      }/* *   *给ScrollView添加子视图   */私人空间addView () {   LinearLayout mLinearLayout=(LinearLayout) findViewById (R.id.linearlayout);      视图视图;   (int x=0; x< titles.length; x + +) {   视图=视图。膨胀(这一点,出来。item_scrollview, null);   view.setId (x);   view.setOnClickListener(这个);   TextView电视=(TextView) view.findViewById (R.id.textview);   tv.setText(标题[x]);   mLinearLayout.addView(查看);      textViewArray [x]=电视;   视图(x)=视图;      }   }      @Override   公共空间onClick(查看v) {   ToastUtils.showToast(这个标题[(int) v.getId ()));   changeTextColor ((int) v.getId ());   changeTextLocation ((int) v.getId ());      片段片段=零;      开关(v.getId ()) {   例0:   片段=new FragmentOne ();   打破;   案例1:   片段=new Fragment1 ();   打破;   案例2:   片段=new Fragment2 ();   打破;   案例3:   片段=new Fragment3 ();   打破;   案例4:   片段=new Fragment4 ();   打破;   例5:   片段=new Fragment5 ();   打破;   例6:   片段=new Fragment6 ();   打破;   例7:   片段=new Fragment7 ();   打破;   }   如果(片段!=null) {   .beginTransaction getSupportFragmentManager () () .replace (R.id.framelayout片段).commit ();   }   }/* *   *改变textView的颜色   * @param id   */私人空间changeTextColor (int id) {   for (int i=0;我& lt;textViewArray.length;我+ +){   如果(我!=id) {   textViewArray[我].setBackgroundResource (android.R.color.transparent);   textViewArray[我].setTextColor (0 xff000000);   其他}{   textViewArray (id) .setBackgroundResource (android.R.color.white);   textViewArray (id) .setTextColor (0 xffff5d5e);   }   }      }/* *   *改变栏目位置   */私人空间changeTextLocation (int指数){//视图(clickPosition) .getTop()针对其父视图的顶部相对位置   int x=(视图(索引).getTop ()——mScrollView.getHeight ()/2);   mScrollView。smoothScrollTo (0, x);   }      }

Android使用滚动+片段仿京东分类效果