Android仿京东分类模块左侧分类条目效果

本文实例为大家分享了Android仿京东左侧分类条目效果的具体代码,供大家参考,具体内容如下

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView; 

import com.frame.R; 

import java.util.ArrayList;
import java.util.List; 

/**
 * Created by syd on 2016/10/9.
 */
public class TestActivity extends Activity { 

 ScrollView sv_test;
 LinearLayout ll_test_contain;
 List<String> goodsList = new ArrayList<String>();
 List<TextView> textViewList = new ArrayList<>();
 List<View> viewList = new ArrayList<>(); 

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.test_activity_test);
  initViews();
  initData();
 } 

 /**
  * 初始化控件
  */
 private void initViews() {
  sv_test = (ScrollView) findViewById(R.id.sv_test);
  ll_test_contain = (LinearLayout) findViewById(R.id.ll_test_contain);
 } 

 protected void initData() {
  goodsList.add("常用分类");
  goodsList.add("潮流女装");
  goodsList.add("品牌男装");
  goodsList.add("内衣配饰");
  goodsList.add("家用电器");
  goodsList.add("手机数码");
  goodsList.add("电脑办公");
  goodsList.add("个护化妆");
  goodsList.add("母婴频道");
  goodsList.add("食物生鲜");
  goodsList.add("酒水饮料");
  goodsList.add("家居家纺");
  goodsList.add("酒水饮料");
  goodsList.add("整车车品");
  goodsList.add("运动户外");
  goodsList.add("图书");
  goodsList.add("钟表");
  goodsList.add("居家生活");
  goodsList.add("珠宝饰品");
  goodsList.add("音像制品");
  goodsList.add("家具建材");
  goodsList.add("计生情趣");
  goodsList.add("营养保健");
  goodsList.add("奢侈礼品");
  goodsList.add("生活服务");
  goodsList.add("旅游出行"); 

  //动态生成每一个条目
  for (int i = 0; i <goodsList.size() ; i++) {
   View view = getLayoutInflater().inflate(R.layout.test_item_scrollview,null);
   view.setOnClickListener(textOnClickListener);
   TextView tv_item_scroll = (TextView) view.findViewById(R.id.tv_item_scroll);
   view.setId(i);
   tv_item_scroll.setText(goodsList.get(i));
   ll_test_contain.addView(view);
   viewList.add(view);
   textViewList.add(tv_item_scroll);
  } 

  changeTextColor(0); 

 } 

 private View.OnClickListener textOnClickListener = new View.OnClickListener() {
  @Override
  public void onClick(View v) { 

   changeTextColor(v.getId());
   changeTextLocation(v.getId());
  }
 }; 

  //改变点击条目的位置,居中
 private void changeTextLocation(int textPosition) { 

  int x = (viewList.get(textPosition).getTop() - sv_test.getHeight()/2 + (viewList.get(textPosition).getHeight() / 2));
  sv_test.smoothScrollTo(0, x); 

 } 

 //改变点击条目的颜色
 private void changeTextColor(int textPosition) { 

  for (int i = 0; i <textViewList.size() ; i++) {
   textViewList.get(i).setTextColor(0xFF000000);
   textViewList.get(i).setBackgroundColor(0x00000000);
  }
  textViewList.get(textPosition).setTextColor(0xFFFF0000);
  textViewList.get(textPosition).setBackgroundColor(0xFFFFFFFF); 

 } 

}

代码2:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="match_parent"
 android:layout_height="match_parent"> 

<com.frame.activity.TestScrollView
 android:id="@+id/sv_test"
 android:layout_width="80dp"
 android:layout_height="wrap_content"> 

 <LinearLayout
  android:id="@+id/ll_test_contain"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="wrap_content">
 </LinearLayout> 

</com.frame.activity.TestScrollView>
</LinearLayout> 

代码3:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical" android:layout_width="match_parent"
 android:layout_height="match_parent">  

 <TextView
  android:gravity="center"
  android:paddingBottom="16dp"
  android:paddingTop="16dp"
  android:id="@+id/tv_item_scroll"
  android:layout_width="match_parent"
  android:layout_height="wrap_content" />
 <ImageView
  android:background="#cccccc"
  android:layout_width="match_parent"
  android:layout_height="1dp" /> 

</LinearLayout>

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

您可能感兴趣的文章:

  • Android使用Scroll+Fragment仿京东分类效果
  • Android 仿京东、拼多多商品分类页的示例代码
  • Android实现网易Tab分类排序控件实现
  • Android使用分类型RecyclerView仿各大商城首页
  • Android编程实现仿美团或淘宝的多级分类菜单效果示例【附demo源码下载】
  • android使用 ScrollerView 实现 可上下滚动的分类栏实例
  • Android 仿网易新闻客户端分类排序功能
  • Android学习教程之分类侧滑菜单(5)
  • Android实现qq列表式的分类悬浮提示
  • Android实现京东App分类页面效果
(0)

相关推荐

  • android使用 ScrollerView 实现 可上下滚动的分类栏实例

    如果不考虑更深层的性能问题,我个人认为ScrollerView还是很好用的.而且单用ScrollerView就可以实现分类型的RecyclerView或ListView所能实现的效果. 下面我单单从效果展示方面考虑,使用ScrollerView实现如下图所示的可滚动的多条目分类,只是为了跟大家一起分享一下新思路.(平时:若从复用性等方面考虑,这显然是存在瑕疵的~) 特点描述: 1.可上下滚动 2.有类似于网格布局的样式 3.子条目具有点击事件 刚看到这个效果时,首先想到的是使用分类型的Recyc

  • Android使用Scroll+Fragment仿京东分类效果

    本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 实现思路:首先说下布局,整个是一个横向的线性布局,左边是一个ScrollView,右边是一个FrameLayout,在代码中动态向ScrollView中添加TextView,然后根据TextView的点击事件使用Fragment替换FrameLayout 首先看下布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/andr

  • Android 仿京东、拼多多商品分类页的示例代码

    最近接了一个项目,要仿照京东写一个商品分类页,但需要滑动右边子分类,左边的主分类也跟着变换,写了个demo,需要的同学可以自取. 先放一个写完之后的样子: 写这个需求的思路也很清晰,首先左边肯定是一个listView,右边也是一个listView,这两个listView要达到一个联动的效果.右边的listView再嵌套一个GridView即可.如下图所示. 所以,我们需要的数据结构也就确定了,应该是数组套数组,也就说护肤大分类下又有子分类商品,类似于这个样子: ok,数据和UI结构确定了,就可以

  • Android编程实现仿美团或淘宝的多级分类菜单效果示例【附demo源码下载】

    本文实例讲述了Android编程实现仿美团或淘宝的多级分类菜单效果.分享给大家供大家参考,具体如下: 这里要实现的是诸如美团/淘宝/百度糯米 多级分类菜单效果.当分类数量非常多时可以考虑采用两级分类,而诸如美团这种表现方式是一个不错的选择. 首先上效果图:   主要代码: 1. PopupWindow初始化过程: popupWindow = new PopupWindow(this); View view = LayoutInflater.from(this).inflate(R.layout.

  • Android实现网易Tab分类排序控件实现

    先看看效果图: 1.XML布局引入 <com.net168.lib.SortTabLayout android:id="@+id/layout" android:layout_width="match_parent" android:layout_height="wrap_content" /> 2.设置数据源数据,也就是每个item的对应文本数据 //构造数据源,暂时仅支持String List<String> data

  • Android使用分类型RecyclerView仿各大商城首页

    **正所谓,一入商城深似海~ 商城类的App,确实是有许多东西值得学习,但是只要略微斟酌一下,你又会发现,它们之间存在着许多不谋而合的相似,也就是所谓的雷同~既然如此,让我们也来接下地气,先从一个简单的首页做起吧~** 实现的效果如下图: 1.大布局就是一个简单的RecyclerView: 也可以通过添加多个header实现 4.这里我仅以四种类型为例 /** * 4种类型 */ /** * 类型1:黑色星期五--使用banner实现 */ public static final int BLA

  • Android 仿网易新闻客户端分类排序功能

    先来看看网易新闻客户端以及自己实现的效果图,效果当然还是网易的好 gridviewsort.gif 如何实现拖拽一个Item 用WindowManager添加一个ImageView,并且将这个ImageView的显示图片设置成被拖拽item的截图,截图可以通过View的getDrawingCache获得.拖拽的时候,隐藏原始的item.处理触摸事件的ActionMove,调整ImageView的位置,跟随手指移动.在ActionUp的时候removeView GridView @Override

  • Android学习教程之分类侧滑菜单(5)

    本文实例为大家分享了Android分类侧滑菜单的制作方法,供大家参考,具体内容如下 classificmenuActivity.java代码: package com.siso.crazyworld; import android.animation.Animator; import android.content.res.Configuration; import android.graphics.Color; import android.graphics.drawable.BitmapDr

  • Android实现qq列表式的分类悬浮提示

    效果图: 这种效果的实现这里是采用自定义ExpandableListView,给它设置一个指示布局,在滑动过程中监听当前是否应该悬浮显示分类来实现的.今天抽时间,整理了下代码,记录一下使用过程,以便有类似的需求的时候可以快速搞定. 话不多说,我们直接看代码和使用方法. 一 项目结构 上边儿三个类分别是我们的自定义ExpandableListView,主界面,以及ExpandableListView使用的Adapter.下边儿几个xml文件分别是主界面布局,指示器布局,ExpandableList

  • Android实现京东App分类页面效果

    今天群里有人问了关于仿京东App分类页面的实现,而我之前正好查过这方面的资料,手上正好有一个demo,正好分享给大家看看,个人觉得效果棒棒哒! 首先来看效果图吧 是不是很6呢,来分析这个demo的主体构成吧,顶部为搜索栏,左侧是scroview,不要担心优化问题,因为scroview里面的TextView是动态生成的,完全不用担心优化问题,右侧是viewPager,Scroview可以控制viewPager的滑动,反之ViewPager也可以控制scroview的滑动. 闲话少说,直接上代码:

随机推荐