如何将按钮添加到“扩展视图”类?

Posted

技术标签:

【中文标题】如何将按钮添加到“扩展视图”类?【英文标题】:How do I add a button to a "extends View" class? 【发布时间】:2012-02-28 01:02:10 【问题描述】:

是否可以向扩展 View 的类添加按钮? ""public class josh extends View"" 如果不是,当我的主要活动中引用按钮时,如何将按钮合并到视图上?呃,请帮忙....

【问题讨论】:

您的意思是您自己在这个新视图中完成所有绘图,并且您想在其中的一部分上绘制一个按钮? 是的,正是朱利安!我该怎么做? 我认为不可能在(扩展视图)类中绘制按钮......当我“setContentView”这个类时,我可以添加一个按钮吗? (addContentView(layout, params)) 如果是这样,我似乎无法正确处理:( ); 尝试实现 ViewGroup? 【参考方案1】:

两种方式:

    将按钮和您的自定义视图作为FrameLayout 的子项,通过它可以在您的自定义视图上绘制按钮。

    没有真正的按钮。相反,绘制一些看起来像按钮的东西,如果触摸事件在其尺寸范围内,则对其进行特殊处理等。这更适合游戏之类的东西。

我相信你可以做#2,但有一个 Button 的子类来做绘图,所以它的性能与普通按钮完全一样,只是由你的自定义视图定位/调整大小,但我不知道该怎么做.

【讨论】:

【参考方案2】:

如果想在运行时向视图添加按钮,请检查这个 preivoius 问题...How to add a button control to an android xml view at runtime?

【讨论】:

这会将视图添加到视图组。 OP 的类“扩展了 View”,因此它不是 ViewGroup。

以上是关于如何将按钮添加到“扩展视图”类?的主要内容,如果未能解决你的问题,请参考以下文章

从类更新所有扩展视图会导致延迟?

iPhone X 的 UIView 高度没有扩展

从活动传递数据到类扩展视图

更改约束以在 swift iOS 中扩展视图

你如何从 Laravel 的包中扩展视图?

如何将 PayPal 智能按钮添加到 Chrome 扩展程序?