- 博客(32)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 购物车逻辑(计算总价,全选以及反选)
一:计算购物车的总价(总价的全选和全不选控制价格)--------------------------布局----------------------------------<CheckBox android:id="@+id/sum_price" android:layout_width="wrap_content" ...
2019-01-19 08:48:59
1840
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 自定义view实现购物车的加号和减号
第一步:创建一个class,命名为:AddMinusView(自定义)继承Linearlayout实现三个方法,把super改成thispublic class AddMinusView extends LinearLayout {private TextView add_more,minus;private EditText et_minus;private int num = 1;...
2019-01-18 21:35:13
671
原创 Android计算时间差
Date startDate;Date endDate;long diff = endDate.getTime() - startDate.getTime();//以天数为单位取整Long day = diff / (1000 *60 *60 *24);//以小时为单位取整Long hour=(diff/(60*60*1000)-day*24);//以分钟为单位取整Long min=((diff/(60*1000))-day*24*60-hour*60);//以秒为单位Long s
2020-06-16 17:21:12
480
原创 Android studio gitlab配置SSH秘钥步骤
第一步:打开你安装的git工具;然后输入以下:输入:$ ssh-keygen -t rsa -C ‘xxx@sinna.com’(-C为大写 后面是邮箱)!然后一直按回车键,最终效果如下图所示。第二步:现在已经配置完了,然后打开我的电脑的路径(我的电脑用户名是Administrator)打开id_rsa.pub,复制里面全部的内容。第三步:打开gitlab,粘贴到公钥的输入框里进行添加秘...
2019-08-01 16:46:50
2423
原创 沉浸式状态栏两步曲
第一步:在style.xml文件里面-----改为NoActionBar------ <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">第二步:在activity中 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {...
2019-05-10 16:28:39
127
原创 6.0动态权限(相机)
image = findViewById(R.id.image);//随便一张图片就行 //6.0动态权限 image.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ...
2019-04-07 09:06:16
194
原创 多条目的商品id跳转WebView(接口回调+EventBus)
1.接口回调所有商品的id(仿电商页面)第一个多条目的适配器:oneAdapter /** * 接口回调 */ public ItemOnClick itemOnClick; public void setItemOnClick(ItemOnClick itemOnClick) { this.itemOnClick = itemOnClic...
2019-03-26 14:43:05
166
原创 流式布局(最近搜索)简单使用
1.依赖//流式布局 api 'com.hyman:flowlayout-lib:1.1.2'2.布局<TextView android:id="@+id/zuijin_sousuo" android:layout_width="wrap_content" android:layout_height="wrap_content"...
2019-03-25 19:23:39
240
原创 Fresco缓存路径以及缓存大小
在Application全局配置文件中://磁盘(路径)缓存 DiskCacheConfig cacheConfig = DiskCacheConfig.newBuilder(this) .setBaseDirectoryPath(Environment.getDownloadCacheDirectory()) .setBaseDi...
2019-03-25 13:59:51
1025
原创 ToolBar的简单实用(点击弹窗实现页面切换)
效果图如下:这个是点击 弹窗中的1。这个是点击弹窗中的2。实现代码如下:1.依赖implementation 'com.android.support:appcompat-v7:25.3.1'2.xml控件(布局)<android.support.v7.widget.Toolbar android:id="@+id/toobar" andr...
2019-03-23 11:51:17
1092
原创 GreenDao缓存从网络上请求的数据
依赖//根gradleclasspath 'org.greenrobot:greendao-gradle-plugin:3.2.2'//app gradleapply plugin: 'org.greenrobot.greendao'greendao { schemaVersion 1 //数据库版本号 daoPackage '包名.database' //设置时生成代码...
2019-03-17 19:52:35
321
原创 TabBar 很简单好用的底部导航
导入依赖implementation 'com.hjm:BottomTabBar:1.1.1'布局控件 <com.hjm.bottomtabbar.BottomTabBar android:id="@+id/bottom_tab_bar" android:layout_width="match_parent" android:layou...
2019-03-13 19:14:09
874
原创 Fresco本地加载【圆角,圆形,比例,渐进,加载动图】
导入依赖 implementation 'com.facebook.fresco:fresco:0.13.0'//fresco依赖 implementation 'com.facebook.fresco:animated-gif:0.13.0'//gif动图加载初始化public class App extends Application { @Override ...
2019-03-12 10:43:46
280
原创 极光推送
打开极光推送平台----头像----服务平台----进入开发者平台----创建应用后,获取AppKey----推送设置----输入应用包名----点击保存-----点击查看指南-----AndroidSDK集成指南----找到(在 module 的 gradle 中添加依赖和 AndroidManifest 的替换变量)-----粘贴:ndk和manifestPlaceholders和导入依赖--...
2019-03-07 21:10:20
112
原创 Android 屏幕适配
第一步:导入dimens.xml文件第二步:在studio—File----Setting—plugins中,搜索screen插件第三步:按住ctrl+shift+alt+m键生成很多dimen的文件夹,即可。
2019-03-03 20:24:42
96
原创 Retrofit网络框架
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入Api层@...
2019-02-18 08:29:29
104
原创 Fresco图片加载框架(圆形+3秒淡入)
第一步:导入依赖implementation 'com.facebook.fresco:fresco:0.13.0'第二步:初始化public class App extends Application { @Override public void onCreate() { super.onCreate(); Fresco.initiali...
2019-02-12 18:55:44
762
原创 仿京东首页----多条目展示(分类+秒杀)Adapter和View层
首先,我们在mainActivity的布局文件中,用一个XrecycleView.然后,我们在创建一个全展示的ShowAdapter。MVP的框架我就省略不写了。下面是activity中的操作:manActivity中的实现Adapter://加载布局 private void initView(View view) { flyBanner = view.findVie...
2019-01-20 13:28:38
269
原创 MVP框架实现二级联动----仿京东分类页面:Adapter+Model+Presenter+View(全面一点)
首先我们先看一下契约类:显示左部分和右部分。public interface OneContract { /** * p层 */ abstract class OnePresenter{ public abstract void getLeftList(HashMap&amp;lt;String,String&amp;gt; params); ...
2019-01-19 15:43:29
416
原创 android 属性动画(缩放,渐变,移动,旋转)
首先设置一个图片,引入布局<ImageView android:id="@+id/iv_splash" android:layout_width="100dp" android:layout_height="100dp" android:src="@drawable/i" android:layout_grav...
2019-01-19 14:45:00
2774
原创 第三方QQ登录
第一步:拷贝demo中的libs文件夹和res文件夹;把jar包下的所有文件全部add as library。右击 add as library。第二步:Application中添加一下代码:UMConfigure.init(this,"5c089159b465f59767000066","小米",UMConfigure.DEVICE_TYPE_PHONE,"");/** * 设置组件化...
2019-01-19 11:52:32
5874
原创 原生登录注册(MVP框架实现)+记住密码+自动登录+圆角shape
布局我就不展示了,主要代码如下:第一步:登录和注册的契约类: /** * p层 */ abstract class LoginPresenter{ public abstract void register(HashMap&amp;lt;String,String&amp;gt; params); public abstract void login...
2019-01-19 10:59:52
219
原创 MVP实现FlyBanner轮播
第一步:写入FlyBanner布局 <com.recker.flybanner.FlyBanner android:id="@+id/FlyBanner" android:layout_width="300dp" android:layout_height="169dp" android:layout_gravity="center"...
2019-01-18 21:26:21
141
原创 RecyclerView的Adapter和ViewHolder的实现(仿京东两级联动的Adapter)
用RecyclerView来实现左侧列表和右侧列表的列表展示。LeftAdapter--------------------------------------第一步---虽然会报错,但还是吧这个继承完全写完吧-----------------------------------------------------------public class LeftAdapter extends ...
2019-01-06 20:26:21
1182
原创 MVP、契约类、OKHTTP【post&get】(仿京东两级联动model层,presenter层)
首先穿件一个契约类(接口)。p层使用抽象类,m层和v层都使用内部接口来实现。p层abstract class OnePresenter{ public abstract void getLeftList(HashMap&amp;amp;lt;String,String&amp;amp;gt; params); public abstract void getRightList(HashMap&amp;amp;...
2019-01-06 20:06:35
212
原创 android 属性动画的实现以及跳转
首先,你要写一个图片,然后find到图片的id。(像以下代码一样)。&amp;lt;ImageView android:id=&quot;@+id/iv_splash&quot; android:layout_width=&quot;100dp&quot; android:layout_height=&quot;100dp&quot;
2019-01-06 19:32:29
299
1
原创 aaaMVP的框架(拦截器)
MVP三个方法,Presenter和Model和View方法。public interface IShowContract { public abstract class IShowPresenter{ public abstract void show(HashMap&lt;String,String&gt; params); } interface ...
2019-01-01 23:55:47
207
原创 工具类OKHttp网络请求框架和Post请求方法
其中有两个callback的回调接口:一个是OKHttpCallBack还有一个是RequestCallBack。两个接口各有两个方法 一个是成功success的方法,还有一个fail失败的方法,成功用String result,或者User user失败的用String msg。还有一个OKhttputil的方法,代码就比较多。这儿的第一个方法interceptor拦截器的方法。`...
2019-01-01 23:40:23
165
原创 侧拉栏的出现
12345步骤,侧拉栏的小按钮以及布局,其中,有三个重要的点,第一个:是R.id.frame_layout它是一个侧拉的布局,第二个:是FrameFragment,里面只要写上此fragment对应的一个fragment布局,还有onViewCreated生命周期的方法,里面 有一个view的点击事件,点击事件中写的是: ((MainActivity)getActivity()).clos...
2018-12-20 23:45:45
155
原创 XListView的控件引用
第一步骤:下载XListView 在GitHub中下载一个XListView,选择星级好评最高的一个下载。第二步骤:新建modle 在Androidstudio中,新建一个modle,选择AndroidLibrary板块进行新建。生成一个图标是这样的项目,这时把在GitHub中下载好的XListView的XListView-Android-master\src这个路径下的...
2018-12-07 14:09:35
146
原创 Android fragment页面的AsyncTask解析,判断网络状态
首先在fragment的页面打开,我们首先来看看条目的长按删除,肯定需要调用数据库的数据,然后调用删除的方法。首先,会有一个条目长按的监听:然后,会有一个fragment的xml。然后定义要请求网络的权限,加上之后可以直接访问apiUrl的网络路径。然后是一个onViewCreated的方法,里面写上调用的MAdapter,然后监听,调用一次Dao的删除,再调用一次mAdapter的删除,...
2018-12-02 23:58:42
394
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人