如何在 Android 中定义自定义(复合)布局?
Posted
技术标签:
【中文标题】如何在 Android 中定义自定义(复合)布局?【英文标题】:How to define a custom (composite) layout in Android? 【发布时间】:2013-11-04 06:00:46 【问题描述】:我想学习——如果有办法的话——如何定义自定义视图类型,并在 XML 布局中使用它。
例如,我有一个如下所示的自定义按钮:
<LinearLayout>
<ImageView />
<TextView />
</LinearLayout>
我知道我可以将它保存为 mybutton.xml,然后执行<include layout="@layout/mybutton" />
,但是有没有办法可以像这样使用它:
<MyButton />
?
我还希望能够在 Java 代码中实例化这个新的自定义类。像这样:
MyButton mb = new MyButton();
我应该将 MyButton 定义为 Java 类吗?如果是这样,我应该扩展什么,以及如何扩展?
感谢您的帮助!
【问题讨论】:
【参考方案1】:您需要为您的对象定义一个自定义类。
MyButton.java
public class MyButton extends View
您必须创建构造函数来扩充您的 XML 文档,然后通过完全限定的包名称调用 XML 中的对象。
<com.example.MyButton/>
【讨论】:
以上是关于如何在 Android 中定义自定义(复合)布局?的主要内容,如果未能解决你的问题,请参考以下文章