【问题标题】:How to define a custom (composite) layout in Android?如何在 Android 中定义自定义(复合)布局?
【发布时间】:2013-11-04 06:00:46
【问题描述】:

我想学习——如果有办法的话——如何定义自定义视图类型,并在 XML 布局中使用它。

例如,我有一个如下所示的自定义按钮:

<LinearLayout>
 <ImageView />
 <TextView />
</LinearLayout>

我知道我可以将它保存为 mybutton.xml,然后执行&lt;include layout="@layout/mybutton" /&gt;,但是有没有办法可以像这样使用它:

<MyButton /> 

?

我还希望能够在 Java 代码中实例化这个新的自定义类。像这样:

MyButton mb = new MyButton();

我应该将 MyButton 定义为 Java 类吗?如果是这样,我应该扩展什么,以及如何扩展?

感谢您的帮助!

【问题讨论】:

    标签: java android xml view custom-component


    【解决方案1】:

    您需要为您的对象定义一个自定义类。

    MyButton.java

    public class MyButton extends View{}
    

    您必须创建构造函数来扩充您的 XML 文档,然后通过完全限定的包名称调用 XML 中的对象。

    <com.example.MyButton/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-21
      • 1970-01-01
      • 1970-01-01
      • 2014-06-25
      • 2016-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多