Android:基于布局的自定义视图:如何?

Pet*_*rdk 6 android custom-view

我正在构建一个Android应用程序,我对自定义视图有点挣扎.

我想有一个可重用的视图,它包含一些标准的布局元素.让我们说一个带有一些按钮的relativelayout.

我该怎么办?我应该创建一个扩展RelativeLayout的自定义视图类并以编程方式添加这些按钮吗?我觉得这有点矫枉过正?

在Android中正确执行此操作的方法是什么?

Ste*_*eve 11

以下是有关创建自定义聚合视图的一种方法的一些粗略步骤:

  1. 延长RelativeLayout
  2. 在新类中提供一个接受Context和AttributeSet的构造函数,确保首先调用超类.此时不要添加任何内容.等到下一步.
  3. 覆盖onFinishInflate方法,您可以在其中通过Java代码添加内容或膨胀XML资源
  4. 添加任何事件处理程序等
  5. 如果您的窗口小部件需要设置属性,则可以选择创建资源文件.

  • 请注意,对于XML布局资源,`<merge>`root元素适用于此场景. (3认同)
  • 我需要提一下,使用`onFinishInflate`方法无法使`<merge>`rooted布局膨胀.如果你在`onCreate`方法中膨胀,它确实有效. (2认同)