`
大头K
  • 浏览: 186365 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
目前遇到问题:当我点击地图上的覆盖物时可以弹出提示框,但点击该覆盖物以外的地方时,最佳的用户体验是把去掉该提示框。但就是消失不了。 类似: 以前也做过类似效果,搬过来总是不行,经过1个小时的磨叽,终于找到原因了。 先看看以前做法(看清楚返回值): 弹出提示框: @Override public boolean onTap(int index) { LogUtil.d("ck", "onTap1"); OverlayItem item = getItem(index); createPopWindow(item ...
近段时间,由于项目需要,需要做资讯类APP,其中,要做一个排序列表,列表中每个item中的时间值需要与当前设备的时间作比较,得到一些比较人性化的时间提醒。先把效果图放上: 代码实现: import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * 时间工具类 * @author ck * 2013年11月16日 23:36:40 */ public class DateUtil { public static final String PA ...
使用百度地图有很长一段时间了,每次用的时候都是看官方例子,很少自己作总结,这样每次用的时候都会花时间去理解,今天就抽点时间总结一下: 1.废话不多说,先看效果: 2.基于百度地图版本:Android SDK v2.1.2   下方有官方Demo下载 3.项目中加入所需权限,demo中权限很多,我从中筛选出我们这个覆盖物所需要的权限,如果不放心的话,也可以直接copy demo中的所有权限 <uses-permission android:name="android.permission.INTERNET" /> <uses-pe ...
xml中 android:maxLength="10" java中 .setFilters(new InputFilter[]{ new InputFilter.LengthFilter(10)});
1.一般分辨率大于WVGA屏幕精度小于等于MDPI的 可以认为是平板了 DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); double diagonalPixels = Math.sqrt(Math.pow(dm.widthPixels, 2) + Math.pow(dm.heightPixels, 2)); double physicalSize = diagonalPixels / (160 * dm.density); boolean is ...
点击非EditText 则隐藏软键盘,手机有物理键则方便,但在平板每次隐藏软键盘都需要按左下角按钮,用户体验非常不好。 下面方法可以实现,用户在软键盘出现的时候,点击非EditText任一处则隐藏软键盘。 /** 点击空白隐藏软键盘 */ @Override public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { // 获得当前得到焦点的View,一般情况下就是EditText(特殊情况就是轨迹求或者实体案件会 ...
1、核心意图: 简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是由一个工厂对象决定创建出那一种产品类的实例。通常它根据传过来的参数的不同返回不同的类的实例。 2、简单工厂模式的构成: –工厂为(Creator)角色:担任这个角色的是简单工厂模式的核心,含有与应用紧密相关的商业逻辑。工厂类的客户端的直接调用下创建产品对象,它往往由一个具体类实现。 –抽象产品(Product)角色:担任这个角色的类是简单工厂模式所创建的对象的父类,或它们共同拥有的接口。抽象产品角色可以用一个接口或者抽象类实现。 –具体产品(ConcreteProdu ...
1、核心意图: 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,让他们能够自动更新自己。 2、观察者模式的构成: – 抽象主题角色(Observered):把所有对观察者对象的引用保存在一个集合中,每个抽象主题角色都可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察者角色。一般用一个抽象 类或接口来实现。 – 抽象观察者角色(Observer):为所有具体的观察者定义一个接口,在得到主题的通知时更新自己。 – 具体主题角色(ConcreteObservered):在具体主题内部状态改变时,给 ...
1、核心意图: 定义 装饰模式以对客户透明的方式动态的给一个对象附加上更多的功能。并且,客户端并不会觉得对象在装饰前和装饰后有什么不同。 作用 装饰模式是在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。装饰模式可以在不创造更多子类的情况下,将对象的功能加以扩展。 2、装饰模式的构成: – 抽象构件角色(Component):给出一个抽象接口,以规范准备接收附加责任的对象。 – 具体构件角色(Concrete Component):定义一个将要接收附加责任的类。 – 装饰角色(Decorator):持有一个构件(Compon ...
1、核心意图: 定义: 将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性. 作用: •使客户端调用简单,客户端可以一致的使用组合结构或其中单个对象,用户就不必关系自己处理的是单个对象还是整个组合结构,这就简化了客户端代码。 •更容易在组合体内加入对象部件. 客户端不必因为加入了新的对象部件而更改代码。 2、组合模式的构成: Component(抽象构件接口) – 为组合的对象声明接口 – 在某些情况下实现从此接口派生出的所有类共有的默认行为 – 定义一个接口可以访问及管理它的多个子部件 Leaf(叶部件) – 在组合中表示叶节 ...
1、核心意图:    将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求 排队或记录请求日志,以及支持可撤消的操作。 2、command模式构成: • 客户角色(Client):创建一个具体命令对象,并确定其接收者 • 命令角色(Command):声明一个给所有具体命令类的抽象接口。这是一个抽象角色,通常由一个接口 或抽象类实现 • 具体命令角色(ConcreteCommand):定义一个接收者和行为之间的弱耦合,实现execute方法,负责调用接收者的相应操作 • 请求者角色(Invoker):负责调用命令对象执行请求。 • 接收者角色(Receiver): ...

adapter模式

1、核心意图: 将一个类的接口转换成客户希望的另外一个接口,从而使得原本由于接口不兼容而不能一起工作的类可以一起工作。 该模式的目标是通过一个代理(这里是Adapter),在原来的类(Adaptee)和客户(Client)之间进行协调,从而达到兼容的目的。其核心是解决一致性的问题。 2、适配器(Adapter)模式的构成 • 目标抽象角色(Target) :定义客户要用的特定领域的接口 • 适配器(Adapter) :调用另一个接口,作为一个转换器 • 适配器(Adaptee) :定义一个接口,Adapter需要接入 • 客户端(Client) :协同对象符合Adapter适配器 3 ...
Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) {   Map.Entry entry = (Map.Entry) iter.next();   Object key = entry.getKey();   Object val = entry.getValue(); }
直接看下图效果。 附源码。
cityName = (MyTextView) findViewById(R.id.city_content); cityName.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
Global site tag (gtag.js) - Google Analytics