1

我有一个自定义视图DateView(扩展 a LinearLayout),当给定日期时,它会显示它。问题在于屏幕的大小,我希望在小、普通、大和超大屏幕DateView上以不同的方式显示日期。扩展 a很有用,因为我可以在任何时候实例化a和。DateViewLinearLayoutDateViewaddChild

有任何想法吗?

4

1 回答 1

0

哇!遇到了我问的这个古老的问题。无论如何,这就是我解决问题的方法。

有两种方法(我喜欢)来解决这个问题

  1. 为多种屏幕尺寸创建多种布局。在运行时,将布局加载到 DateView 中,它是(类似于)FrameLayout。从布局中查找视图并填充内容。
  2. 使用 Java 委托模式:为多种屏幕尺寸创建多种布局。include客户端 XML 布局中的模式。在客户端类中,加载includeded 布局并将其传递给 DateViewManager 类,该类公开内容修改方法。

我开始更喜欢第二种方法,因为它更清洁、更简单地实现目标:使用 Android 资源管理功能来提供多种屏幕类型。

于 2012-04-30T03:10:21.170 回答