Android UI控件之ListView实现圆角效果

两相交错并联Boost电路仿真模型(Simulink仿真实现) 内容概要:本文详细介绍了两相交错并联Boost电路的Simulink仿真模型,属于电力电子变换器领域的核心技术研究。该模型基于Simulink平台构建,重点在于通过多相交错并联结构提升Boost电路的输出稳定性与转换效率,有效降低输入电流纹波,适用于中高功率电力变换场合。文档系统阐述了电路的工作原理、闭环控制策略设计、软启动机制实现以及关键参数的优化方法,充分展现了多相并联技术在改善动态响应、提高功率密度方面的优势。同时,提供了完整的仿真建模流程和技术路线,涵盖主电路搭建、控制器设计、系统调试与性能分析等环节,并配套提供仿真文件、设计报告及参考文献等丰富资料,便于学习者深入理解与实践复现。; 适合人群:具备电力电子技术基础知识、熟悉Simulink仿真环境,正在从事新能源发电、电动汽车、工业电源系统等相关领域研究的硕士博士研究生、科研人员及电气工程方向的工程技术人员。; 使用场景及目标:①用于深入理解多相交错并联Boost电路的拓扑结构与工作机理;②支撑科研项目中的高效DC-DC变换器性能验证与优化设计;③为实际电源产品开发提供理论依据和仿真原型;④作为高校课程设计或实验教学的参考案例,提升学生的工程仿真与系统分析能力。; 阅读建议:建议结合文档中提及的其他相关变换器模型(如LLC谐振变换器、PFC电路、Buck变换器等)进行横向对比学习,深入掌握不同拓扑的控制策略差异与适用场景,并充分利用所提供的网盘资源下载完整仿真模型,动手调试参数、观察波形,从而深化对多相并联控制、电流均流、闭环稳定性等关键技术的理解,全面提升电力电子系统的仿真与设计能力。 立即下载

http://blog.youkuaiyun.com/lcore/article/details/8714148

       今天在Android群里面有人再求圆角ListView的实现方式,正好自己以前实现过。因此就共享了

       现在将其实现方式写在博客中共他人学习。给出实现方式之前顺带加点自己的想法,感觉上android

       中方形的ListView还是太“硬性”,没有圆角的有亲和力。连Apple也为了“圆角”这个设计去申请专利

       看来圆角确实比较适合现在人们的喜好吧。

              照老规矩先上两张效果图吧:

       第一张:

      第二张:

          该方式主要就是需要重新去实现自己的ListView代码如下:

  1. package com.kiritor.corner_listview;  
  2.   
  3.   
  4. import android.content.Context;  
  5. import android.util.AttributeSet;  
  6. import android.view.MotionEvent;  
  7. import android.widget.AdapterView;  
  8. import android.widget.ListView;  
  9.   
  10. /*** 
  11.  * 自定义listview 
  12.  *  
  13.  * @author Kiritor 
  14.  *  
  15.  */  
  16. public class MyListView extends ListView {  
  17.     public MyListView(Context context) {  
  18.         super(context);  
  19.     }  
  20.   
  21.     public MyListView(Context context, AttributeSet attrs) {  
  22.         super(context, attrs);  
  23.     }  
  24.   
  25.     /**** 
  26.      * 拦截触摸事件 
  27.      */  
  28.     @Override  
  29.     public boolean onTouchEvent(MotionEvent ev) {  
  30.         switch (ev.getAction()) {  
  31.         case MotionEvent.ACTION_DOWN:  
  32.             int x = (int) ev.getX();  
  33.             int y = (int) ev.getY();  
  34.             int itemnum = pointToPosition(x, y);  
  35.             if (itemnum == AdapterView.INVALID_POSITION)  
  36.                 break;  
  37.             else {  
  38.                 if (itemnum == 0) {  
  39.                     if (itemnum == (getAdapter().getCount() - 1)) {  
  40.                         // 只有一项数据,设置背景设置为圆角的  
  41.                         setSelector(R.drawable.list_round);  
  42.                     } else {  
  43.                         // 第一项,设置为上面为圆角的  
  44.                         setSelector(R.drawable.list_top_round);  
  45.                     }  
  46.                 } else if (itemnum == (getAdapter().getCount() - 1))  
  47.                     // 最后一项,设置为下面为圆角的  
  48.                     setSelector(R.drawable.list_bottom_round);  
  49.                 else {  
  50.                     // 中间项,不用设置为圆角  
  51.                     setSelector(R.drawable.list_center_round);  
  52.                 }  
  53.             }  
  54.             break;  
  55.         case MotionEvent.ACTION_UP:  
  56.             break;  
  57.         }  
  58.         return super.onTouchEvent(ev);  
  59.     }  
  60. }  
          MainActivity
  1. package com.kiritor.corner_listview;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.HashMap;  
  5. import java.util.Map;  
  6.   
  7.   
  8.   
  9. import android.app.Activity;  
  10. import android.os.Bundle;  
  11. import android.view.View;  
  12. import android.view.ViewGroup;  
  13. import android.view.Window;  
  14. import android.widget.AdapterView;  
  15. import android.widget.AdapterView.OnItemClickListener;  
  16. import android.widget.ArrayAdapter;  
  17. import android.widget.ListAdapter;  
  18. import android.widget.ListView;  
  19. import android.widget.SimpleAdapter;  
  20. import android.widget.Toast;  
  21.   
  22. public class MainActivity extends Activity implements OnItemClickListener {  
  23.     private MyListView listView_1, listView_2, listView_3;  
  24.     private ArrayList<Map<String, String>> listData, listData2, listData3;  
  25.     private SimpleAdapter adapter;  
  26.   
  27.     @Override  
  28.     public void onCreate(Bundle savedInstanceState) {  
  29.         super.onCreate(savedInstanceState);  
  30.         requestWindowFeature(Window.FEATURE_NO_TITLE);  
  31.         setContentView(R.layout.main);  
  32.         listView_1 = (MyListView) findViewById(R.id.mylistview_1);  
  33.         listView_2 = (MyListView) findViewById(R.id.mylistview_2);  
  34.         listView_3 = (MyListView) findViewById(R.id.mylistview_3);  
  35.   
  36.         listView_1.setAdapter(getSimpleAdapter_1());  
  37.         listView_2.setAdapter(getSimpleAdapter_2());  
  38.         listView_3.setAdapter(getSimpleAdapter_3());  
  39.   
  40.         listView_1.setOnItemClickListener(this);  
  41.         listView_2.setOnItemClickListener(this);  
  42.         listView_3.setOnItemClickListener(this);  
  43.   
  44.         setListViewHeightBasedOnChildren(listView_1);  
  45.         setListViewHeightBasedOnChildren(listView_2);  
  46.         setListViewHeightBasedOnChildren(listView_3);  
  47.     }  
  48.   
  49.     /** 
  50.      * 设置第一列数据 
  51.      */  
  52.     private SimpleAdapter getSimpleAdapter_1() {  
  53.         listData = new ArrayList<Map<String, String>>();  
  54.   
  55.         Map<String, String> map = new HashMap<String, String>();  
  56.         map.put("text", "天气动画");  
  57.         listData.add(map);  
  58.   
  59.         map = new HashMap<String, String>();  
  60.         map.put("text", "通知栏天气");  
  61.         listData.add(map);  
  62.   
  63.         return new SimpleAdapter(MainActivity.this, listData,  
  64.                 R.layout.list_item, new String[] { "text" },  
  65.                 new int[] { R.id.tv_list_item });  
  66.   
  67.     }  
  68.   
  69.     /** 
  70.      * 设置第二列数据 
  71.      */  
  72.     private SimpleAdapter getSimpleAdapter_2() {  
  73.         listData2 = new ArrayList<Map<String, String>>();  
  74.   
  75.         Map<String, String> map = new HashMap<String, String>();  
  76.         map.put("text", "桌面插件");  
  77.         listData2.add(map);  
  78.   
  79.         map = new HashMap<String, String>();  
  80.         map.put("text", "绑定微博");  
  81.         listData2.add(map);  
  82.   
  83.         map = new HashMap<String, String>();  
  84.         map.put("text", "天气分享");  
  85.         listData2.add(map);  
  86.   
  87.         map = new HashMap<String, String>();  
  88.         map.put("text", "通知与提示");  
  89.         listData2.add(map);  
  90.   
  91.         map = new HashMap<String, String>();  
  92.         map.put("text", "定时播报");  
  93.         listData2.add(map);  
  94.   
  95.         return new SimpleAdapter(MainActivity.this, listData2,  
  96.                 R.layout.list_item, new String[] { "text" },  
  97.                 new int[] { R.id.tv_list_item });  
  98.   
  99.     }  
  100.   
  101.     /** 
  102.      * 设置第三列数据 
  103.      */  
  104.     private SimpleAdapter getSimpleAdapter_3() {  
  105.         listData3 = new ArrayList<Map<String, String>>();  
  106.   
  107.         Map<String, String> map = new HashMap<String, String>();  
  108.         map.put("text", "检查新版本");  
  109.         listData3.add(map);  
  110.   
  111.         map = new HashMap<String, String>();  
  112.         map.put("text", "发送建议");  
  113.         listData3.add(map);  
  114.   
  115.         map = new HashMap<String, String>();  
  116.         map.put("text", "帮助");  
  117.         listData3.add(map);  
  118.   
  119.         map = new HashMap<String, String>();  
  120.         map.put("text", "关于");  
  121.         listData3.add(map);  
  122.   
  123.         return new SimpleAdapter(MainActivity.this, listData3,  
  124.                 R.layout.list_item, new String[] { "text" },  
  125.                 new int[] { R.id.tv_list_item });  
  126.   
  127.     }  
  128.   
  129.     /*** 
  130.      * 动态设置listview的高度 
  131.      *  
  132.      * @param listView 
  133.      */  
  134.     public void setListViewHeightBasedOnChildren(ListView listView) {  
  135.         ListAdapter listAdapter = listView.getAdapter();  
  136.         if (listAdapter == null) {  
  137.             return;  
  138.         }  
  139.         int totalHeight = 0;  
  140.         for (int i = 0; i < listAdapter.getCount(); i++) {  
  141.             View listItem = listAdapter.getView(i, null, listView);  
  142.             listItem.measure(0, 0);  
  143.             totalHeight += listItem.getMeasuredHeight();  
  144.         }  
  145.         ViewGroup.LayoutParams params = listView.getLayoutParams();  
  146.         params.height = totalHeight  
  147.                 + (listView.getDividerHeight() * (listAdapter.getCount() - 1));  
  148.         // params.height += 5;// if without this statement,the listview will be  
  149.         // a  
  150.         // little short  
  151.         // listView.getDividerHeight()获取子项间分隔符占用的高度  
  152.         // params.height最后得到整个ListView完整显示需要的高度  
  153.         listView.setLayoutParams(params);  
  154.     }  
  155.   
  156.     @Override  
  157.     public void onItemClick(AdapterView<?> parent, View view, int position,  
  158.             long id) {  
  159.           
  160.         if (parent == listView_1) {  
  161.             Map<String, String> map = listData.get(position);  
  162.             Toast.makeText(MainActivity.this, map.get("text"), 1).show();  
  163.         } else if (parent == listView_2) {  
  164.             Map<String, String> map = listData2.get(position);  
  165.             Toast.makeText(MainActivity.this, map.get("text"), 1).show();  
  166.         } else if (parent == listView_3) {  
  167.             Map<String, String> map = listData3.get(position);  
  168.             Toast.makeText(MainActivity.this, map.get("text"), 1).show();  
  169.         }  
  170.   
  171.     }  
  172.   
  173. }  
               差不多也就是这样了,还有相关资源文件

                       

                这里就不一一给出了

                完整源码部分:

                       http://download.youkuaiyun.com/detail/kiritor/5176655
Matlab路径文件pathdef.m可能为只读文件修改方法 找到MATLAB目录下的bin这个文件夹,直接改这个文件夹的权限(之前试过改pathdef.m的权限,不好用)如果到这里重新导入还是不行,从官网重新下载需要的安装包,可能是你的安装包出了问题。(Win11系统,matlab版本为2022b)编辑——添加——在输入对象名称来选择中输入everyone。重启matlab,以管理员身份运行。并修改其他已有的权限,都给它。 阅读详情

相关推荐

STM32 伺服电机 指令脉冲+方向位置控制模式 主从定时器 实现PWM脉冲数精确控制

实验室有个项目涉及到多个步进电机以及伺服电机的控制,需要电机得到一个触发信号后精确移动一段距离。 下面以单个伺服电机控制为例,利用伺服电机的指令脉冲加方向位置控制模式实现jing'que ...

phcdd的博客 2万+

android 圆形listview,Android UI控件之ListView实现圆角效果

今天在Android群里面有人再求圆角ListView的实现方式,正好自己以前实现过。因此就共享了现在将其实现方式写在博客中共他人学习。给出实现方式之前顺带加点自己的想法,感觉上android中方形的ListView还是太“硬性”,没有圆角的有亲和力。连Apple也为了“圆角”这个设计去申请专利。看来圆角确实比较适合现在人们的喜好吧。照老规矩先上两张效果图吧:第一张:第二张:该方式主要就是需要重新...

weixin_34024555的博客 497

电磁场可视化

电磁场可视化 如题,做了电磁场可视化这么久了,也是颇有些心得了,简单描述一下怎么做这个项目的。 开始时是从最基本的OpenGL开始做的,必不可少的翻了许多的文献,后来是直接在unity中做,发现效果挺好,而且可控性强好多。反复琢磨后,发现可视化的渲染,有几种思路,第一就是用linerender,画线的方法,另一种就是用shader。 第一种我通过unity自带的linewave插件可以做到 详细的就是,linewave插件可以轻松画出曲线等,并且可以添加碰撞,控制频率幅度长度等一切的条件数值,而且令人惊喜

weixin_43979140的博客 1671

进阶:利用9-Patch PNG来实现ListView的圆角显示

http://www.learningandroid.net/blog/advance/9-patch-listview-coner/ 说到圆角显示,可能很多人的第一反应就是覆盖onDraw方法来自己画个圆角,可能以前写过其它Windows程序,比如Delphi的人会更有这种冲动吧。 不过在Android中,我们不需要这么麻烦,事实上整个Android系统的UI都是基于Style来实现

windlake的专栏 593

Python与Wind量化接口实战:从配置到数据提取全流程解析

本文详细解析了Python与Wind量化接口的实战应用,从环境配置到数据提取全流程。通过Anaconda管理Python环境,安装WindPy接口,实现历史行情、截面数据和实时行情的查询与优化。文章还提供了高级功能如批量查询、数据缓存策略及实战案例,帮助开发者高效构建量化分析框架。

omega的博客 1328

STM32 Proteu直流电机正反转控制系统限位开关-0035

硬件组成:STM32F103C6单片机 +L298N电机控制电路+直流电机+3个按键(正转、反转、停止)+LED指示灯(正转、反转、停止)+限位开关(正限位 反限位) 1.通过3个按键(正转、反转、停止)控制电机的正转、反转、停止。 2.有3个LED指示灯,正转时正转指示灯亮。反转停止对应反转停止指示灯亮。 3.有自动正转反转停止功能,正转时当正限位按键按下时说明正转到最大距离。此时自动停止。反转一样。

zhaxiaobian_er的博客 2002

Android Material Design之CardView(卡片式布局)

目录 1.CardView概念 2.CardView常用属性 3.CardView的使用 3.1 创建CardView 3.2 CardView的使用注意事项 4.CardView案例 4.1 效果图 4.2 步骤1:在MainActivity.xml中添加ListView 4.3步骤2:为ListView的item创建布局,并在布局中加入GridView 4.4步骤3:...

云上道人的博客 7531

高性能算力中心 — RDMA — Overview

目录 文章目录目录RDMA基于以太网的 RoCE/RDMA 计算优化NVMeNVMe Over Fabrics基于以太网的 NVMe 存储优化 RDMA RDMA(Remote DMA,远程直接内存访问)是一种新的内存访问技术,RDMA 让计算机可以直接存取其他计算机的内存,而不需要经过 CPU 耗时的处理。RDMA 将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响。RDMA 技术的原理及其与 TCP/IP 架构的对比如下图所示。 InfiniBand(IB):从一开始就支持 R

烟云的计算 2366

shape与selector的结合使用

shape和selector是Android UI设计中经常用到的,比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到shape和selector。可以这样说,shape和selector在美化控件中的作用是至关重要的。 1.Shape 简介 作用:XML中定义的几何形状 位置:res/drawable/文件的名称.xml 使用的方法:

夕花朝拾 373

三相五柱式消弧线圈自动测控装置设计与实现

本文设计了一种基于STM32的三相五柱式消弧线圈自动测控装置。该装置采用信号注入法检测系统对地电容电流,通过PID自适应算法调节消弧线圈电感值,实现单相接地故障时的快速补偿。硬件系统包含信号采集、注入、控制执行等模块,软件采用Goertzel算法提取特征频率信号,结合增量式PID实现精确控制。实验结果表明,装置电容检测误差小于2%,调谐响应时间小于50ms,满足配电网对消弧线圈自动调谐的技术要求。

AI的内部世界的博客 239

特别章节-0.1 SolidWorks导出机械臂的URDF模型各个关节坐标系设置

通过Solidworks导出机械臂的URDF模型文件,建立机械臂的各个关节坐标系的规则以及注意点,详细步骤

六眼飞鱼的博客 1万+

Android开发教程:shape和selector的结合使用

shape和selector是Android UI设计中经常用到的,比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到shape和selector。可以这样说,shape和selector在美化控件中的作用是至关重要的。 1.Shape 简介 作用:XML中定义的几何形状 位置:res/drawable/文件的名称.xml 使用的方法:

wd_cloud的专栏 647

【虚幻引擎UE】UE5 四步骤实现AI漫游与对话行为(含工程源码)

【虚幻引擎UE】UE5 四步骤实现AI漫游与对话行为(含工程源码)

灵境引路人 3227

shape和selector的使用

shape和selector是Android UI设计中经常用到的,比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到shape和selector。可以这样说,shape和selector在美化控件中的作用是至关重要的。 1.Shape 简介 作用:XML中定义的几何形状 位置:res/drawable/文件的名称.xml 使用的方法: Java代码中:R.

u012803067的博客 360

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

android精美案例,34个最实用Android精彩案例源码.doc

34个最实用Android精彩案例源码34个Android?精彩案例源码?0主要带大家实现各种?APP中常用的功能,以及通过自定义?View,ViewGroup?个性化各种控件,以及一些?Android核心框架的原理解析。Android??自定义控件??原理解析??案例ListView滑动删除?,仿腾讯QQ0上传者:lmj623565791??????上传时间:?2014-04-04ListVie...

weixin_26516841的博客 292

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

shape和selector的结合使用

shape和selector是Android UI设计中经常用到的,比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到shape和selector。可以这样说,shape和selector在美化控件中的作用是至关重要的。 1.Shape 简介 作用:XML中定义的几何形状 位置:res/drawable/文件的名称.xml 使用的方法: Java代码中:R....

weixin_33859231的博客 80

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Android实现ListView圆角效果

一般设置页面的功能,实现圆角效果 http://www.cnblogs.com/hanyonglu/archive/2012/03/18/2404820.html

学习记录 803

安卓开发 从入门到转业 (二) Button控件 TextView控件 ListView控件 GridView控件

文章目录Button按钮如何圆角按钮增加按压效果按钮增加点击提示TextView控件使用第三方库加载网络图片依赖引用网络权限ListViewGridView Button 按钮如何圆角 在res.drawable下,创建一个xml文件,定义按钮的样式: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:sha

自救 唯有自强 1781

实现IOS圆角风格的列表ListView

转载:http://www.oschina.net/code/snippet_227618_19441 这段代码目前已经加在我的一个jar包androidkit中,还没发布。  适用于android1.6以上,不依赖其他jar包  使用时不需要继承这里的RoundListAdapter。只需要在你实现了ListAdapter的类中,传入一个RoundParams的对象,并在g

u012940983的专栏 938

利用9-Patch PNG来实现ListView的圆角显示

说到圆角显示,可能很多人的第一反应就是覆盖onDraw方法来自己画个圆角,可能以前写过其它Windows程序,比如Delphi的人会更有这种冲动吧。 不过在Android中,我们不需要这么麻烦,事实上整个Android系统的UI都是基于Style来实现的,有兴趣的朋友可以去研究一下Android的源码,看看如Button, Radio是如何实现的,就会明白Android的UI体系是非常强大、简单

632

Android中圆角列表ListView

有些东西看多了,就厌烦了:extjs对我这种感觉最为强烈。甚至,有时觉得设计之殇是审美疲劳。 直角看多了,就想看看圆角,不知何时,这几年刮起了一阵阵的圆角设计风:CSS新标准纳入圆角元素,iphone中几乎随处可见圆角设计,也开始出现很多圆角名片了... 今天我们就实现一个圆角的ListView效果。 圆角的设计,我们并不追求到处都用,无处不用,android中有少数界面用直角确实容易显得锋

linghu_java的专栏 2830

Android ImageView圆角图片的简单实现

背景 今天项目中需要用到一个圆角图片,一般来说要么裁剪Drawable,要么就是裁剪画布,这都需要用到自定义控件,有点小麻烦,其实也可以用到gilde框架进行处理: /** * 加载圆角图片 * */ public static void loadImageCircle(Context context, ImageView imageView, Object url, int dp) { //设置图片大小 RoundedCorne

u013008419的专栏 3976

FlycoRoundView兼容性指南:处理Android各版本圆角效果的完整方案

FlycoRoundView是一款强大的Android圆角视图库,它能帮助开发者轻松为原生视图设置圆角矩形背景,大幅减少相关shape资源文件的使用。本指南将详细介绍如何在不同Android版本中实现一致的圆角效果,解决常见的兼容性问题。 ## 为什么需要兼容性方案? Android系统版本众多,从早期的API 1到最新的API 34,不同版本对圆角绘制的支持存在差异。特别是在以下方面: -

gitblog_00519的博客 437

极度干货——GitHub受欢迎的Android UI Library整理

Android开发者福音,极度干货,以下是安卓UI相关开源项目库集合整理,开发必备,欢迎收藏,点赞。 内容 抽屉菜单 ListView WebView SwitchButton 按钮 点赞按钮 进度条 TabLayout 图标 下拉刷新 ViewPager 图表(Chart) 菜单(Menu) 浮动菜单 对话框 空白页 滑动删除 手势操作 RecyclerView Card Color Drawable Spinner 布局 模糊效果 TabBar AppBar 选择器(Picker) 跑马灯 日历时间

乂星人 3789

Autojs基础-用户界面(ui)

脚本开发需要有界面与用户进行交互,许多脚本开发语言已经有自己的ui控件的使用方式,比如按键精灵的ui界面设置非常便捷。按键精灵的ui控件的取值和赋值方式都已经封装好了,但是autojs很多时候只提供控件,取值和赋值需要自己通过安卓进行封装,甚至需要自己手搓控件功能。以游戏为例,会有各种任务,我们可以根据选择的任务运行脚本,最好的就是多选框单选的方式,这样比较好看。但是,autojs没有让多选框单选的方式,我们又无法保证用户每次只选择一个任务,我们就需要手搓这个功能。

qq_55896432的博客 1869
上一篇: Android facebook signin for Spring Social webapp
下一篇: Listview中显示不同的视图布局
softwarehe
博客等级 码龄26年 66粉丝 165原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值