,本文实例为大家分享了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使用滚动+片段仿京东分类效果