效果图:

1.MainActivity

package com.example.sj.bigtracing;import android.os.Bundle;
import android.support.design.widget.TabItem;
import android.support.design.widget.TabLayout;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AbsListView;
import android.widget.ListView;import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;//实现购物车详情效果
public class MainActivity extends AppCompatActivity {private TabItem name1;private TabItem name2;private TabItem name3;private ListView lv;private TabLayout tab;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();initData();}int noyong;private int position;private void initData() {List<String> list = new ArrayList<>();for (int i = 0; i < 40; i++) {list.add("天王盖地虎,拉祜。。。" + i);}MyAdapter adapter = new MyAdapter(this, list);lv.setAdapter(adapter);lv.setOnScrollListener(new AbsListView.OnScrollListener() {@Overridepublic void onScrollStateChanged(AbsListView view, int scrollState) {switch (noyong) {case 0:TabLayout.Tab tabAt1 = tab.getTabAt(0);tabAt1.select();break;case 10:TabLayout.Tab tabAt2 = tab.getTabAt(1);tabAt2.select();break;case 20:TabLayout.Tab tabAt3 = tab.getTabAt(2);tabAt3.select();break;}}@Overridepublic void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {switch (firstVisibleItem) {case 0:noyong = 0;break;case 10:noyong = 10;break;case 20:noyong = 20;break;case 9:noyong = 0;break;case 19:noyong = 10;break;}}});for (int i = 0; i < tab.getTabCount(); i++) {TabLayout.Tab tabAt = tab.getTabAt(i);if (tabAt == null) {Class c = tabAt.getClass();try {Field field = c.getDeclaredField("mView");field.setAccessible(true);final View view = (View) field.get(tabAt);if (view == null) {return;}view.setTag(i);view.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {position = (int) view.getTag();switch (position) {case 0:lv.setSelection(20);break;case 1:lv.setSelection(10);break;case 2:lv.setSelection(0);break;}}});} catch (NoSuchFieldException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}}}}private void initView() {name1 = (TabItem) findViewById(R.id.name1);name2 = (TabItem) findViewById(R.id.name2);name3 = (TabItem) findViewById(R.id.name3);lv = (ListView) findViewById(R.id.lv);tab = (TabLayout) findViewById(R.id.tab);}
}

MainActivity的xml布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout 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"tools:context=".MainActivity"><android.support.design.widget.AppBarLayoutandroid:id="@+id/appbar"android:layout_width="match_parent"android:layout_height="wrap_content"android:fitsSystemWindows="true"><android.support.v7.widget.Toolbarandroid:id="@+id/toolbar"android:layout_width="match_parent"android:layout_height="250dp"android:background="@drawable/q"app:layout_scrollFlags="scroll|enterAlways|snap"></android.support.v7.widget.Toolbar><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><android.support.design.widget.TabLayoutandroid:id="@+id/tab"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_toLeftOf="@+id/img"android:layout_toStartOf="@+id/img"android:layout_weight="9"android:background="#ffffff"app:tabMode="scrollable"><android.support.design.widget.TabItemandroid:id="@+id/name1"android:layout_width="wrap_content"android:layout_height="match_parent"android:text="嘻嘻" /><android.support.design.widget.TabItemandroid:id="@+id/name2"android:layout_width="wrap_content"android:layout_height="match_parent"android:text="哈哈" /><android.support.design.widget.TabItemandroid:id="@+id/name3"android:layout_width="wrap_content"android:layout_height="match_parent"android:text="呵呵" /></android.support.design.widget.TabLayout></LinearLayout></android.support.design.widget.AppBarLayout><ListViewandroid:id="@+id/lv"android:layout_width="match_parent"android:layout_height="match_parent"app:layout_behavior="@string/appbar_scrolling_view_behavior"></ListView></android.support.design.widget.CoordinatorLayout>

2.MyAdapter 适配器

package com.example.sj.bigtracing;import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;import java.util.List;public class MyAdapter extends BaseAdapter {private Context context;public MyAdapter(Context context, List<String> list) {this.context = context;this.list = list;}private List<String> list;@Overridepublic int getCount() {return list.size();}@Overridepublic Object getItem(int position) {return null;}@Overridepublic long getItemId(int position) {return 0;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder viewHolder = null;if (convertView == null) {convertView = LayoutInflater.from(context).inflate(R.layout.item, null);viewHolder = new ViewHolder(convertView);convertView.setTag(viewHolder);} else {viewHolder = (ViewHolder) convertView.getTag();}viewHolder.item_tv.setText(list.get(position));return convertView;}public static class ViewHolder {public View rootView;public TextView item_tv;public ViewHolder(View rootView) {this.rootView = rootView;this.item_tv = (TextView) rootView.findViewById(R.id.item_tv);}}
}

适配器xml布局

<?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"><RelativeLayoutandroid:layout_width="match_parent"android:layout_height="60dp"><TextViewandroid:id="@+id/item_tv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"android:text="嘻嘻嘻哈哈" /></RelativeLayout></RelativeLayout>

Android实现购物车详情简单效果相关推荐

  1. android实现购物车效果,Android 实现蘑菇街购物车动画效果

    使用过蘑菇街的用户基本上都知道有一个加入购物车的动画效果,此处不具体描述想知道的可以去下载体验一下. 1.思路 目前想到两种方式实现这种效果,一是使用Tween动画,直截了当的进行一个移动,蘑菇街就是 ...

  2. Android之仿淘宝商品详情浏览效果

    一:先来几张效果图,没有弄gif动画,也就是商品详情滑动到底部继续上滑查看图文详情. 二:实现步骤: 1.自定义一个父容器ScrollViewContainer装载两个ScrollView. pack ...

  3. android仿微信的activity平滑水平切换动画,Android实现简单底部导航栏 Android仿微信滑动切换效果...

    Android实现简单底部导航栏 Android仿微信滑动切换效果 发布时间:2020-10-09 19:48:00 来源:脚本之家 阅读:96 作者:丶白泽 Android仿微信滑动切换最终实现效果 ...

  4. android开发分页查询,Android开发中实现分页效果的简单步骤

    分页加载在程序开发中是必备的,但是我们实现这个功能并不仅仅为了美观,用户体验也是很重要的,爱站技术频道下面就带大家了解Android开发中实现分页效果的简单步骤,感兴趣的小伙伴们参考看看吧! 具体内容 ...

  5. Android 购物车的简单实现

    逻辑 1.实体类添加属性:isSelect 是否选中 2.适配器根据isSelect判断是否选中+复选框点击 3.全选和取消全选:修改集合中所有的数据源的isSelect->刷新适配器----& ...

  6. android 今日头条加载动画,Android 仿今日头条简单的刷新效果实例代码

    点击按钮,先自动进行下拉刷新,也可以手动刷新,刷新完后,最后就多一行数据.有四个选项卡. 前两天导师要求做一个给本科学生预定机房座位的app,出发点来自这里.做着做着遇到很多问题,都解决了.这个效果感 ...

  7. Android把商品添加到购物车的动画效果(贝塞尔曲线)

    当我们写商城类的项目的时候,一般都会有加入购物车的功能,加入购物车的时候会有一些抛物线动画,具体代码如下: 实现效果如图: 思路: 确定动画的起终点 在起终点之间使用二次贝塞尔曲线填充起终点之间的点的 ...

  8. Android二级购物车(带商家)的简单实现

    今天我们要用MVP实现一个二级购物车(带商家的购物车)废话不多说,直接上代码 首先我们需要进行依赖的导入 compile 'com.facebook.fresco:fresco:1.5.0'compi ...

  9. Android横向滚动卡片,Android实现横向滑动卡片效果

    Android实现横向滑动卡片效果 发布时间:2020-09-04 22:51:17 来源:脚本之家 阅读:255 作者:itbobby 最近项目上需要实现这样效果的一个页面,本来想找个现成的两下搞定 ...

最新文章

  1. C# SortedDictionary以及SortedList的浅谈
  2. 深入了解以太坊虚拟机第5部分——一个新合约被创建后会发生什么
  3. Mysql ERROR 1067: Invalid default value for ‘auth_time‘
  4. (王道408考研数据结构)第一章绪论-第二节2:算法的时间复杂度和空间复杂度
  5. respond java 使用_java – 使用android问题的HttpResponse:执行总...
  6. header php下载文件很小,php中Accept-Length获取不到下载文件的大小
  7. 生僻词汇(地名,动植物名)
  8. XenServer部署系列之05——虚拟机的创建及复制
  9. 11.1-12.31推荐文章汇总
  10. 什么软件画er图方便_ER模型怎么画?必备入门级模型图绘制软件
  11. 易语言c盘搜索文件,易语言遍历搜索目录指定文件
  12. 基于深度学习的实时激光雷达点云目标检测及ROS实现复现时出错解决方法汇总
  13. 基于反步法backstepping的自适应控制简介
  14. 重置计算机后无法开机,win10重置此电脑失败怎么办_win10重置此电脑失败无法开机修复方法...
  15. 卡尔曼滤波简介(转载)
  16. 三种查看文件MD5 SHA*等校验值的方法
  17. 【微电网优化】基于matlab粒子群算法求解热电联供型微电网经济运行优化问题【含Matlab源码 1696期】
  18. DCA、NRI、IDI
  19. 扫雷,潜伏者(python)
  20. 纪录片中国通史观后感

热门文章

  1. Journal of Computational Physics, latex模板
  2. 电子元器件的分类有哪些?
  3. 【第一届INT杯】 INT lpy的火柴游戏(大模拟)
  4. pe管厂家_mpp管与PE管的区别
  5. 分析51啦和CNZZ统计的优缺点
  6. java版我的世界有溺尸_我的世界:猪灵的金锭能“抢夺”?穿戴金甲的溺尸是要“逆天”?...
  7. 鲍尔默飙泪谈离职原因:董事会嫌我速度慢
  8. 朋友说要被他女朋友烦死了,竟然是因为“小视频”
  9. 为精简成本 诺基亚将在芬兰本土进行裁员
  10. 盘点系外行星中五大最有可能的宜居星球