摘要:
在做项目的时候,需要用到这个选项卡,刚开始看了系统的tabwidget,囧了,底边有黑线不说,还不美观,扒了好多的网页发现前辈做的能够满足自己的需求,将代码修改了下,就能用喽,伟人说过,站在前辈的肩膀上,我们能看的更远。不多少了,上源码...tabwidget.xml@android :id/tab... 阅读全文
posted @ 2014-04-13 23:59
brave-sailor
阅读(392)
评论(0)
推荐(0)
摘要:
如新浪微博下面的标签切换功能,我以前也写过一篇博文(http://www.cnblogs.com/tiantianbyconan/archive/2012/02/24/2366237.html),可以实现,用的是TabHost。但是android发展比较迅速,TabHost这玩意现在已经被弃用了,虽... 阅读全文
posted @ 2014-04-13 21:22
brave-sailor
阅读(309)
评论(0)
推荐(0)
摘要:
一、实现效果图二、项目工程结构三、详细代码编写1、主tab布局界面,main_tab_layout:双击代码全选1234567891011121314151617181920212223242526 2、Tab按钮选项布局,tab_item_view.xml:双击代码全选1234567891011121314151617181920212223242526 3、fragment布局界面,这里只列出一个,fragment_1.xml:双击代码全选1234567891011121314 4、Tab选项的自定义按钮资源文件,列出其中一个按钮,tab_home_btn:双击代... 阅读全文
posted @ 2014-04-13 13:34
brave-sailor
阅读(528)
评论(0)
推荐(0)
摘要:
第一种,TabActivity 解决方案下面建立的布局文件,它包含多个标签的显示组件 1234567891011121314151617181920212223242526272829import android.app.TabActivity;import android.os.Bundle;import android.view.LayoutInflater;import android.widget.Ta... 阅读全文
posted @ 2014-04-13 02:17
brave-sailor
阅读(886)
评论(0)
推荐(0)
摘要:
android源码中包含了大量的设计模式,除此以外,android sdk还精心为我们设计了各种helper类,对于和我一样渴望水平得到进阶的人来说,都太值得一读了。这不,前几天为了了解android的消息处理机制,我看了Looper,Handler,Message这几个类的源码,结果又一次被googler的设计震撼了,特与大家分享。android的消息处理有三个核心类:Looper,Handler和Message。其实还有一个Message Queue(消息队列),但是MQ被封装到Looper里面了,我们不会直接与MQ打交道,因此我没将其作为核心类。下面一一介绍:线程的魔法师 LooperL 阅读全文
posted @ 2014-04-13 01:57
brave-sailor
阅读(247)
评论(0)
推荐(0)
摘要:
我们在Java程序中使用日志功能(JDK Log或者Log4J)的时候,会发现Log系统会自动帮我们打印出丰富的信息,格式一般如下:为了免去解析StackTrace字符串的麻烦,JDK1.4引入了一个新的类,StackTraceElement。 一、问题的引入 我们在Java程序中使用日志功能(JDK Log或者Log4J)的时候,会发现Log系统会自动帮我们打印出丰富的信息,格式一般如下: [运行时间] [当前类名] [方法名] INFO: [用户信息] 具体例子如Tomcat启动信息: Jul 9, 2004 11:22:41 AM org.Apache.coyote.http... 阅读全文
posted @ 2014-04-13 01:46
brave-sailor
阅读(10974)
评论(0)
推荐(0)
摘要:
Java中的守护线程 & 非守护线程守护线程 (Daemon Thread)非守护线程,又称用户线程(User Thread)用个比较通俗的比如,任何一个守护线程都是整个JVM中所有非守护线程的保姆:只要当前JVM实例中尚存在任何一个非守护线程没有结束,守护线程就全部工作;只有当最后一个非守护线程结束时,守护线程随着JVM一同结束工作。守护线程最典型的应用就是 GC (垃圾回收器)守护线程通常是由虚拟机自行创建使用,不过通过编码同样可以创建守护线程,而且 very easy:Thread daemonTread = new Thread(); // 设定 daemonThread 为 阅读全文
posted @ 2014-04-13 01:31
brave-sailor
阅读(501)
评论(0)
推荐(0)