ViewPager简单介绍(二)ViewPager+Fragment
实现ViewPager要适配器,一般的使用PagerAdapter,对于fragment,我们所使用的是FragmentPagerAdapter和FragmentPagerStateAdapter。FragementPagerAdapter和FragmentPagerStateAdapter的区别FragmentPagerAdapter和FragmentPagerStateAdapter都继承自P...
ViewPager简单介绍(三) ViewPager+Fragment+TabLayout
前两篇文章中介绍了TabLayout和ViewPgaer+Fragment的使用,这篇文章将三者结合起来,做成一个比较常见的布局,如图:如果对着这两者有什么不清楚的,可以看看这两篇,都是一些简单的使用。TabLayout的使用ViewPager+Fragment的简单使用废话不多说,直接上代码。要使用TabLayout,必须先在app的build.gradle中添加:compile 'com.an...
ViewPager简单使用(四)实现图片轮播
在很多软件中,我们都会看到图片轮播的效果。如图:首先在布局文件中添加viewpager控件activity_main.xml<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent"...
android集成极光推送
在项目中,我们一般会用到消息推送功能,常见的有友盟推送,极光推送等,本文介绍的是如何集成极光推送。首先登录或者注册极光帐号,进入极光推送界面,选择创建应用,输入应用名称,上传应用图标。如图:创建成功后,获得此应用的AppKey。如图:在推送设置中设置应用包名在项目中集成极光推送,这里采用自动集成方法,不过如果后期要集成极光IM的话,最后采用手动集成,不然可能会报错。确认android studio...
Android集成百度地图(一)
1.创建项目打开百度地图开放平台,登录或者注册帐号,在控制台中创建应用。如图:输入信息,获取安全码,如图:开发版SHA1获取方法:在Android Studio中找到Terminal并打开,或者在最下面找到Terminal 如下图:输入命令 C: 进入c盘;接着输入命令 cd Users\Administrator 其中Administrator是自己的用户名 Administrato...
[leetcode] 70. 爬楼梯
70. 爬楼梯 最简单的动态规划 假设f[i]表示爬到第i层有几种爬法 那么状态转移方程为:f[i] = f[i-1] + f[i-2] 初始条件显然是:f[1]=1,f[2] = 2; class Solution {
public int climbStairs(int n) {
if (n == 1) return 1;
int f[] = new int[n];
f[0] = 1;
f[1] = 2;
log4net 写入日志到不同的位置
某些业务需要根据不同的功能将日志记录到不同的位置,以便于区分。 <?xml version="1.0" encoding="utf-8" ?>
<log4net>
<appender name="Console" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<!-- Pattern to output the caller's file nam
source tree 使用心得
SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端管理工具,同时也是Mercurial和Subversion版本控制系统工具。支持创建、克隆、提交、push、pull 和合并等操作。(摘自百度百科定义)。 工作副本:工作副本保存你在本地做的所有改动,提交修改就将工作副本中有必要提交的未暂存文件拉到已暂存文件,提交,然后将剩余未暂存文件丢弃。(注意丢弃和移除的区别,丢弃是丢弃本地修改,而移除是直接将文件从项目中移除。) 提交与推送:提交是将修改提
python 数字的四舍五入的问题
由于 python3 包括python2.7 以后的round策略使用的是decimal.ROUND_HALF_EVEN 即Round to nearest with ties going to nearest even integer. 也就是只有在整数部分是奇数的时候, 小数部分才逢5进1; 偶数时逢5舍去。 这有利于更好地保证数据的精确性, 并在实验数据处理中广为使用。 >>> round(2.55, 1) # 2是偶数,逢5舍去
2.5
>>> format(2.55, '.1f'
python AES CBC模式加密
今天需要用到AES CBC模式加密,搜索了很久,终于加密成功,记录一下今天的理解。 首先要安装pycrypto库,不知道为什么在windows安装失败,在linux可以正常安装 http://tool.chacuo.net/cryptaes,https://tools.lami.la/jiami/aes,以下代码加密后结果与这两个网页加密后一样。 这里有几点要注意,key的长度要是16,24或32,text的长度要是16的倍数,不满足长度都会补全,补全的字符可以自己定义,比如key补全不一定要
hdu多校(二) 1004 1007 1010
Game Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 0 Accepted Submission(s): 0 Problem Description Alice and Bob are playing a game. The game is played on a set of positive integers from 1 to n
html 导出pdf
地址: https://developers.itextpdf.com/examples/xml-worker/html-lists 主方法: public string Generate(string filePath) { if (DeleteOldFile(filePath)) { throw new Exception("the destination path already existed and unable to repleace it"); } var fs = new Fi
swift kvc赋值
1定义模型属性的时候,如果是对象,通常都是可选的(在需要的时候创建,避免写构造函数,简化代码) 2如果是基本数据类型,不能设置成可选的,而且要设置初始值,否则KVC会崩溃 3使用KVC方法前,需要先调用super.init(),保证对象实例化完成 4必须在类的前面添加@objcMembers(或者在每一个属性前面添加@objc),否则KVC会crash import UIKit @objcMembers class Person: NSObject { var name: String? //
今日推荐
周排行