- 博客(37)
- 资源 (11)
- 收藏
- 关注
转载 TabLayout轻松实现仿今日头条顶部tab导航效果
转自:http://www.cnblogs.com/ydxlt/p/5045407.html前言自android5.0出来后,谷歌使用了Material Design设计风格,随着带来了许多新的控件,如:SnackBar,TextinputLayout,以及今天使用的TabLayout,这些新控件的出现使得我们这些开发者更加方便,下面我们用TabLayout实现仿最新版的今日头条顶
2016-04-28 09:40:31 3012
转载 Android之仿今日头条顶部导航栏效果
转自:http://blog.csdn.net/hantangsongming/article/details/42455219随着时间的推移现在的软件要求显示的内容越来越多,所以要在小的屏幕上能够更好的显示更多的内容,首先我们会想到底部菜单栏,但是有时候像今日头条新闻客户端要显示的内容太多,而且又想在主界面全部显示出来,所以有加了顶部导航栏。今日头条顶部导航栏区域的主要部分是一个导航
2016-04-28 09:38:30 6601
转载 ViewPager 详解(五)-----使用Fragment实现ViewPager滑动
请大家尊重原创者版权,转载请标明出处:http://blog.csdn.net/harvic880925/article/details/38660861 不胜感激!前言:前几篇文章讲解了ViewPager的普通实现方法,但Android官方最推荐的一种实现方法却是使用fragment,下面我们使用fragment来重新实现一下第一篇《ViewPager 详解(一)---基本入门
2016-04-27 15:25:07 883
转载 ViewPager 详解(四)----自主实现滑动指示条
请大家尊重原创者版权,转载请标明出处:http://blog.csdn.net/harvic880925/article/details/38521865 谢谢!前言:前面我们用了三篇的时间讲述了有关ViewPager的基础知识,到这篇就要进入点实际的了。在第三篇《ViewPager 详解(三)---PagerTabStrip与PagerTitleStrip添加标题栏的异同
2016-04-27 15:22:41 285
转载 ViewPager 详解(三)---PagerTabStrip与PagerTitleStrip添加标题栏的异同
请大家尊重原创者版权,转载请标明出处:http://blog.csdn.net/harvic880925/article/details/38521865 谢谢!前言:在前两篇文章中,我们讲解了滑动页面的的实现方法与四大函数的意义,但有时,仅仅实现页面滑动是不够的,还要有标题栏才会显得更友好。所以在这篇文章中,我将会向大家展示在Android.support.v4包中的两个
2016-04-27 15:19:25 438
转载 ViewPager 详解(二)---详解四大函数
请大家尊重原创者版权,转载请标明出处:http://blog.csdn.net/harvic880925/article/details/38453725 万分感激!!!!!前言:上篇中我们讲解了如何快速实现了一个滑动页面,但问题在于,PageAdapter必须要重写的四个函数,它们都各有什么意义,在上节的函数内部为什么要这么实现,下面我们就结合Android的API说明,详
2016-04-27 15:16:30 1032
转载 ViewPager 详解(一)---基本入门
前言:这两天研究研究ViewPager滚动功能,现在很多的app都有用到这个功能,我们的大虾米也有这个模块。要研究就彻底的研究研究,我从不满足于一个功能只是简单的应用,要学就学的彻底,所以我打算将ViewPager 分几篇写,研究的哪个程度就写到哪个程度吧。今天是第一篇,基本入门篇 。相关文章:1、《ViewPager 详解(一)---基本入门》2、《V
2016-04-27 15:12:32 243
转载 Android之RadioGroup+ViewPager制作的底部导航栏
转载请注明出处:http://blog.csdn.net/loveyaozu/article/details/51149467在日常开发中我们常常会用到类似微信或者QQ的底部导航。实现这样的效果有多种,今天就为大家介绍一种实现简单,可控性好的底部导航的实现方法。首先创建activity_main.xml布局文件,里面主要由ViewPager和RadioGroup构成。ViewPager用来存放Fra
2016-04-26 19:01:46 641
原创 从上往下打印二叉树
题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。思路:二叉树的广度优先遍历,每次都把list中下一个节点的左右节点加入list,保存数值,再查找list中的下一个节点,直到list结束。代码:import java.util.ArrayList;/**public class TreeNode { int val = 0; TreeNode left = null;
2016-04-24 22:48:27 249
原创 栈的压入、弹出序列
题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。思路:通过一个栈来模仿压入弹出过程。代码:import java.util.Stack;public class Solution
2016-04-24 22:24:15 216
原创 包含min函数的栈
题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。思路:定义一个保存最小值的辅助栈。代码:import java.util.Stack;public class Solution { private Stack<Integer> minStack = new Stack<Integer>(); private Stack<Integer> dataStack
2016-04-24 22:05:16 296
原创 顺时针打印矩阵
题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.思路:(1) 先取出数组的行数row和列数col,用start表示起点; (2) 在循环体中执行遍历一圈,循环执行条件是 star
2016-04-24 21:37:43 203
原创 二叉树的镜像
题目描述操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述:二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6
2016-04-24 20:29:54 154
原创 树的子结构
题目描述输入两颗二叉树A,B,判断B是不是A的子结构。思路:先遍历根节点,若根节点不相等,再遍历左子树和右子树。代码:/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.v
2016-04-24 20:14:00 159
原创 合并两个排序的链表
题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。思路:(1) 先检查所有的非法值; (2) 定义mList1和mList2,若mList1.val>mList2.val,则交互头指针; (3) 由(2)步可知mList2.val>=mList1.val,所以判断条件mList2.val>mList1.next.val,若为真,则mList1=m
2016-04-24 17:31:14 203
原创 反转链表
题目描述输入一个链表,反转链表后,输出链表的所有元素。思路:(1) 定义三个辅助指针a,b,c; (2) 初始化:a=null,b=head,c=head.next; (3) 定义循环,条件为c!=null; (4) 让b.next指向a后,a,b,c指针都向后移动一位; (5) 最后还要让b.next指向a。代码:/*public class ListNode { int val
2016-04-24 16:06:49 186
原创 链表中倒数第k个结点
题目描述输入一个链表,输出该链表中倒数第k个结点。思路一:设置两个指针pre和last,先让pre移动k-1步,如果此时pre为空,则k>链表长度,返回null,否则让pre和last同时移动。步骤为: ①pre=pre.next; ②if(pre==null),若为真,进入④,否则进入③; ③last=last.next,进入①; ④return last.代码:/*public cla
2016-04-24 15:30:41 190
原创 调整数组顺序使奇数位于偶数前面
题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。思路一:使用冒泡法,交换条件为前偶后奇。代码: public class Solution { public void reOrderArray(int [] array) { int temp;
2016-04-23 23:03:15 190
原创 数值的整数次方
题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。思路: (1) 当exponent=0时,返回1; (2) 当exponent>0时,返回base的exponent次方; (3) 当exponent<0时,返回base的exponent次方的倒数。代码:public class Solution { public d
2016-04-23 22:44:58 197
原创 二进制中1的个数
题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。思路: 先举个栗子,假设这个整数的二进制表示为n=1010,n-1=1001, 则做位与运算1010&1001=1000,就能消去低位的1,让1000-1=0111,再做位与运算1000&0111=0,又消去高位的1。技巧就是通过n&(n-1)从低位到高位逐步消去1,并记录次数,就是结果。代码:public class So
2016-04-23 22:12:32 180
原创 矩形覆盖
题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?思路:类似斐波那契数列求第n个数,即f(n)=f(n-1)+f(n-2)。代码:public class Solution { public int RectCover(int target) { if(target==0)
2016-04-23 20:26:41 167
原创 变态跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路: f(n)表示第n阶的跳法,f(0)=1,表示第n阶时跳了n阶; (1) 当n=1时,f(1)=f(0); (2) 当n=2时,f(2)=f(2-2)+f(2-1); (3) 当n=3时,f(3)=f(3-3)+f(3-2)+f(3-1); 以此类推 (4) f(
2016-04-23 19:31:14 167
原创 跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路: 使用递归即可。代码:public class Solution { public int JumpFloor(int target) { if(target==0) return 0; if(target==1)
2016-04-23 18:31:50 186
原创 从尾到头打印链表
题目描述输入一个链表,从尾到头打印链表每个节点的值。 输入描述: 输入为链表的表头 输出描述: 输出为需要打印的“新链表”的表头 思路一:采用递归方法代码:import java.util.*;public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
2016-04-20 14:09:11 168
原创 替换空格
题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路:通过空格为标志循环截断字符串,从而将每个空格替换为其它字符。代码:public class Solution { public String replaceSpace(StringBuffer str) { Strin
2016-04-20 14:08:08 177
原创 二维数组中的查找
题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 输入描述: array: 待查找的二维数组 target:查找的数字输出描述: 查找到返回true,查找不到返回false 思路:从数组的左下角开始查找,比target小则向右,比target大则向上,超出数组范围
2016-04-20 14:05:52 199
原创 理解DrawerLayout抽屉
现在很多应用都带有抽签功能,在Android5.0之前,大家使用的是开源的SlidingMenu,而在5.0版本后侧滑栏已经被集成进SDK中,名为DrawerLayout抽屉,最近使用了这个抽屉布局,写下这篇文章加深理解。一、创建一个DrawerLayout抽屉并不难,使用AndroidStudio(我的是2.0版本)可以直接生成,但是我们还是有必要了解DrawerLayout是如何建立的。二、布局
2016-04-19 23:18:52 5461 3
原创 斐波那契数列
题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。思路一:通过前两个数之和等于第三个数,不断循环相加操作,求出第n项。代码:public class Solution { public int Fibonacci(int n) { if(n==1) return 1; if(
2016-04-17 13:10:52 254
原创 旋转数组的最小数字
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减序列的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。思路:数组原本是有序的,旋转后会出现一个分界,找到分界就能找到最小值,刚开始想到二分查找,但是数组中可能有重复的值,如{0,1,1,1}旋转后 {1.1.0.1},
2016-04-17 12:59:04 219
原创 用两个栈实现队列
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路:一个栈负责入队,一个栈负责出队。代码:import java.util.Stack;public class Solution { Stack stack1 = new Stack(); Stack stack2 = new Stack();
2016-04-17 12:37:58 177
原创 重建二叉树
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路:前序遍历数组的第一个为根root,查找root在中序遍历数组中的位置tag,可知道tag左半部是左子树,右半部是右子树,再将左子树和右
2016-04-17 12:25:21 187
原创 替换空格
题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路:通过空格为标志循环截断字符串,从而将每个空格替换为其它字符。代码:public class Solution { public String replaceSpace(StringBuffe
2016-04-16 22:00:04 193
转载 Android内存泄漏案例和解析
Android 编程所使用的 Java 是一门使用垃圾收集器(GC, garbage collection)来自动管理内存的语言,它使得我们不再需要手动调用代码来进行内存回收。那么它是如何判断的呢?简单说,如果一个对象,从它的根节点开始不可达的话,那么这个对象就是没有引用的了,是会被垃圾收集器回收的,其中,所谓的 “根节点” 往往是一个线程,比如主线程。因此,如果一个对象从它的根节点开始是可达的有
2016-04-11 19:18:58 481
转载 android最佳实践指南
转自:http://www.jianshu.com/p/613d28a3c8a0Updated on 2016/1/15 表明谷歌对ADT的废弃态度,新增段落:对于非发布版本的构建使用不同的包名不定时同步更新原文欢迎转载,但请保留译注者链接:http://www.jianshu.com/p/613d28a3c8a0Lessons learned from Android devel
2016-04-07 23:53:36 465
转载 HttpClient学习
from: http://cn-done.iteye.com/blog/1051861HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP协议来访问网络资源。虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK库本身提供的功能还不够丰富和灵活。Ht
2016-04-06 21:32:19 251
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人