摘要:
在开发中,我们常常会遇到比较复杂的GridView/ListView的布局,重新实现BaseAdapter不但能帮助我们实现我们想要的布局效果,并且在绑定大数据量时也不会感觉有卡壳现象。记得以前用一个ListView直接去绑定手机内的联系人Cursor(一百多号人),滑动的时候就会有卡的感觉。今天决定写个Demo是因为在项目中可能会要实现这样的一个效果:一个GridView中绑定4个ImageButton,有些按钮在特定的情况下是不可用的,也就是Enable=false;并且不同的按钮要拥有各自不同的点击事件。实现第一点好办,添加一个标志位boolean bl来控制按钮的Enable状态,实现 阅读全文
摘要:
这阵子在做Lephone的适配,测试组提交一个bug:标题栏的文字较长时没有显示完全,其实这并不能算个bug,并且这个问题在以前其他机器也没有出现,只是说在Lephone的这个平台上显示得不怎么美观,因为联想将原生的标题栏UI进行了修改。修改的过程中遇到了一个难题,系统自带的那个标题栏进度总能够到达100%后渐退,但是我每次最后到100%那一段显示不全,尝试了用线程程序死了卡主了不说,还是一样的效果,后来同事一句话提醒了我用动画。确实是这样我猜系统的也是这样实现的,等进度到达100%后,用动画改变它的透明度就ok了。实现的效果:标题栏显示网页标题并且滚动,并且用进度条显示网页的加载进度(重新自 阅读全文
摘要:
今天和同事共同讨论了一个关于WebView中的文本控件去获得系统联系人的功能,之前单纯的以为只是点击文本框的时候弹出系统联系人Activity就ok了。立马浮现的想法就是在java方法中实现跳转功能,然后通过Js事件调用java方法,后面才知道选中某个联系人之后还要获得联系人号码赋给文本框。当时我就单纯的以为应该实现不了吧,但后来同事一提醒,如果传递号码作为客户端页面一个Js事件的参数然后为文本框赋值的话咧。这样确实是可行的,但java调用客户端Js的方法入口在哪里咧(必须是在关闭系统联系人之后,重现展现含有WebView的Activty时调用),说到这里应该有部分人会想到一个方法:onAct 阅读全文
摘要:
在使用android手机中经常会碰到很多做得很炫效果的应用,比如手指在屏幕上向左或者向右滑动进行界面切换的效果。这其实是用到了一个叫GestureDetector的对象Gesture:手势 做手势、Detector:监听 侦测器。其实就是通过计算从接触屏幕到离开屏幕过程中xy轴位移,和移动的速度而进行判断做出后续的动作。对一个控件实现手势识别中滑动的监听(还有单击、双击、长按等等就没介绍了)有三个步骤:1、新建一个类DefaultGestureDetector继承自SimpleOnGestureListener重写onFling事件2、实例化一个手势识别对象GestureDetector gd 阅读全文
摘要:
很久没有写博客了,这两天一直忙于一个关于考试的项目,将其中的一些效果实现的经验写下来,希望给看到的人或者给有这方面需求的人帮助。首先来张效果图,没有经过美工处理的 实现基本功能其实做这个项目复习了很多内容,将之前单个项目中用到的某些功能综合到一起了,例如1、自定义标题栏2、Java和JavaScript的互调3、Activity实现仿Dialog样式4、多线程实现考试倒计时5、退出Activity时保存配置信息(考试剩余时间)6、熟悉UI布局上面这些效果中,讲讲通过Java和JavaScript互调实现点击文本中缩略图弹出一个大图。最开始想实现这种效果的时候就想到了TextView控件,因为T 阅读全文
摘要:
URL(Uniform Resource Loactor统一资源定位器的缩写)通过构造函数可以获得URL对象 URL url=new URL("http://www.cnblogs.com");URL类基本方法getPortocal():获得传输协议getHost():获得主机名getPort():获得端口号getFile():获得资源文件名称URLConnection是一个抽象类,是URL指定的数据源的动态连接,提供了比URL更强大的服务器交互的功能,允许用POST/GET和其他HTTP请求方法提交数据给服务器。getContentType():获得文档类型getContentLength( 阅读全文
摘要:
一般涉及到网络的应用,都会提到两个‘端’,一个提供服务叫服务端;一个申请服务叫客户端。一台服务器电脑可以通过服务程序向外提供多个服务(如http/ftp)。作为一台外网服务器,也就是一个服务端,它必须有一个固定的IP,我们就是通过这个IP访问到这台电脑,要想访问一个特定的服务,就得指定端口号,这是区分不同服务的关键,1-1024为系统自留端口。ServerSocket:侦听所有的客户端向服务端发送的建立套接字请求,然后返回套接字对象Socket,客户端和服务端的连接建立。构建一个ServerSocket对象,需要指定一个端口号,侦听到连接请求,获得一个Socket对象,建立Socket---S 阅读全文
摘要:
同时开始5个线程,用各自的文本框显示count,和按钮控制count的自加import java.awt.*;import java.awt.event.*;import java.applet.*;class Ticker extends Thread{ private Button t=new Button("toggle"); private TextField tf=new TextField(10); //开关控制count的变化 private runFlag=true; private int count=0; class Stop implements Action 阅读全文
摘要:
运行程序片,通过人机交互的过程,熟悉一些基本的事件机制import java.awt.*;import java.awt.event.*;import java.applet.*;class StaticTest{ //静态全局变量 static int count=0; public StaticTest(){ ++count; System.out.println("count:"+count); }}public class Test extends Applet{ private Button btn=new Button("创建"); private Text 阅读全文
摘要:
其实所有的java对象都可以具备克隆能力,只是因为在基础类Object中被设定成了一个保留方法(protected),要想真正拥有克隆的能力,就需要实现Cloneable接口,重写clone方法。通过克隆方法得到的对象得到的是一个本地的副本。代码示例:class User implements Cloneable{ int age; public User(int age){ //用this关键字不至于类成员变量与形参混淆 this.age=age; } //这里可加@Override也可不加,加了会自动提示是否正确 @Override publicObject clo 阅读全文