如何设计一个自定义的Android控件并在Xml中使用它?

3
我知道如何创建自定义的Android控件,并且我相信我知道如何从Xml布局中获取它的属性。但是,我不知道如何获取它的任何子元素。
这是我想要实现的视觉示例:
public class Menu extends LinearLayout
{
    // Custom Code
}

public class MenuItem extends Button
{
    // Custom Code
}

<!-- Layout -->
<?xml version="1.0" encoding="utf-8"?>
<Menu>
    <MenuItem/>
    <MenuItem/>
</Menu>

当我的菜单被创建时,我该如何获取两个菜单项的引用?

当我的菜单被创建时,我如何获取对这两个菜单项的引用?只需为它们添加android:id属性即可。我觉得我可能误解了你的问题。 - Tyler
2个回答

1
你应该使用 android:id 来完成这个任务。如果你不知道你将会有多少子项: LinearLayout 继承自 ViewGroup,因此你可以使用 getChildAt()getChildCount() 来获取那些视图。

现在我将知道菜单中有多少子项,因为我会将它们添加到XML中,但我希望这足够动态,不需要知道具体数目。我将尝试使用getChildCount()。谢谢! - Quentamia

0

访问任何控件(自定义或系统)都必须使用ID。通过指定ID,您为其提供了唯一的标识。使用此ID,您可以获取对该控件的引用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接