文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Android实现购物车及其他功能的角标

2022-06-06 01:18

关注

1.先来张效果图

2.自定义一个角标工具类BottomBarView 。


**
 * Created by Administrator on 2016/12/27.
 * 角标工具类
 */
public class BottomBarView extends RelativeLayout {
 private Context context;
 private TextView bar_num;
 private int count = 0;
 public BottomBarView(Context context) {
 this(context, null);
 }
 public BottomBarView(Context context, AttributeSet attrs) {
 this(context, attrs, 0);
 }
 public BottomBarView(Context context, AttributeSet attrs, int defStyleAttr) {
 super(context, attrs, defStyleAttr);
 this.context = context;
 RelativeLayout rl = (RelativeLayout) LayoutInflater.from(context).inflate(R.layout.bottom_bar_view, this, true);
 bar_num = (TextView) rl.findViewById(R.id.bar_num);
 bar_num.setVisibility(GONE);
 }
 public void add() {
 bar_num.setVisibility(VISIBLE);
 count++;
 if (count < 100) {
 bar_num.setText(count + "");
 } else {
 bar_num.setText("99+");
 }
 }
 public void add(int n) throws Exception {
 if(n<0){
 throw new Exception(BottomBarView.class.getSimpleName()+" add(int n).The param must be a positive num");
 }
 bar_num.setVisibility(VISIBLE);
 count += n;
 if (count < 100) {
 bar_num.setText(count + "");
 } else {
 bar_num.setText("99+");
 }
 }
 public void delete() {
 if (count == 0) {
 bar_num.setVisibility(GONE);
 } else {
 count--;
 if (count == 0) {
 bar_num.setVisibility(GONE);
 } else if (count > 0 && count < 100) {
 bar_num.setVisibility(VISIBLE);
 bar_num.setText(count + "");
 } else {
 bar_num.setVisibility(VISIBLE);
 bar_num.setText("99+");
 }
 }
 }
 public void deleteAll() {
 count = 0;
 bar_num.setVisibility(GONE);
 }
}

3.工具类的一个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="wrap_content"
 >
 <ImageView
 android:id="@+id/imggwc"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_centerVertical="true"
 android:layout_toLeftOf="@+id/imggenduo"
android:src="@drawable/chaoshi_shopping_nav_icon" />
 <TextView
 android:id="@+id/bar_num"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_marginLeft="-12dp"
 android:layout_toRightOf="@+id/imggwc"
 android:background="@drawable/red_dot_bg"
 android:text="1"
 android:gravity="center"
 android:textColor="#FFFFFF"
 android:textSize="10dp" />
</RelativeLayout>

4.Activity的实现


public static BottomBarView fragment_bottom_bar;
fragment_bottom_bar = (BottomBarView) findViewById(R.id.fragment_bottom_bar);
//购物车数量角标数据
 public static final void gwcsl() {
 Map<String, String> map = new HashMap<String, String>();
 map.put(ConstantUtil.TOKEN, SpUtil.get(ConstantUtil.TOKEN, ""));
 NormalPostRequest npr = new NormalPostRequest(MyUrlUtils.getFullURL(BaseServerConfig.CSGWCSL),
 new Response.Listener<JSONObject>() {
 @Override
 public void onResponse(JSONObject response) {
 try {
 String code = response.getString("code");
 if (BaseServerConfig.CODE_SUCCESS.equals(code)) {
 //角标数
 int jiaobiao = Integer.parseInt(response.getString("resultCode"));
 try {
  fragment_bottom_bar.deleteAll();
  if (jiaobiao > 0) {
  fragment_bottom_bar.add(jiaobiao);
  } else {
  fragment_bottom_bar.deleteAll();
  }
 } catch (Exception e) {
  e.printStackTrace();
 }
 } else {
 }
 } catch (JSONException e) {
 }
 }
 }, new Response.ErrorListener() {
 @Override
 public void onErrorResponse(VolleyError error) {
 }
 }, map);
 BZApplication.getRequestQueue().add(npr);
 }

5.activity的xml布局


 <RelativeLayout
 android:id="@+id/csgwcdj"
 android:layout_width="45dp"
 android:layout_height="match_parent"
 android:layout_toLeftOf="@+id/relative">
 <com.zjtd.bzcommunity.view.BottomBarView
 android:id="@+id/fragment_bottom_bar"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:layout_centerVertical="true" />
 </RelativeLayout>

其实这个小功能很简单,只是你们想得太复杂。。。。。。。

您可能感兴趣的文章:Android实现购物车功能Android实现的仿淘宝购物车demo示例Android实现仿淘宝购物车增加和减少商品数量功能demo示例Android把商品添加到购物车的动画效果(贝塞尔曲线)Android中实现淘宝购物车RecyclerView或LIstView的嵌套选择的逻辑Android仿外卖购物车功能Android制作简单的普通购物车Android仿饿了么加入购物车旋转控件自带闪转腾挪动画的按钮效果(实例详解)Android实现购物车添加物品的动画效果Android实现二级列表购物车功能


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯