Android:如何创建自定义组件
任何人请引导我 如何在xml和java文件中创建自定义组件Android:如何创建自定义组件,android,custom-component,Android,Custom Component,任何人请引导我 如何在xml和java文件中创建自定义组件 从xml传递属性(我已经完成了) 如何从新的customClass()构造函数方法动态传递属性。-我不知道如何实现这一点 例如:我创建了一个自定义组件,其中两个textview作为单个组件。在xml中,我通过xml属性创建了两个组件。现在我想用java代码创建两个新组件 通过调用customClass.java的构造函数,我不知道如何从java代码动态创建新组件,以及如何在视图中显示(比如说相对布局),请帮助我提供任何链接或博客 我为此
<com.example.project.MyComponent
android:id="@+id/myid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
记住构造函数:LayoutFlater需要这个构造函数来
找到您的组件。而且,当需要时,不要忘记呼叫super(…)。这非常简单:
在布局xml文件中,只需输入以下几行xml代码:
<com.example.project.MyComponent
android:id="@+id/myid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
记住构造函数:LayoutFlater需要这个构造函数来
找到您的组件。而且,在需要时不要忘记调用super(…)。您可以通过在其参数中使用上下文调用构造函数,然后使用getter setters设置属性来实现这一点。你可以在网站上找到一个很好的教程 最后
layout.addView(myComponent);
您可以通过在其参数中使用上下文调用构造函数,然后使用getter setters设置属性来实现这一点。你可以在网站上找到一个很好的教程 最后
layout.addView(myComponent);
我不确定您的自定义标记是否有效,但我知道这是可行的:我的示例扩展了一个相对布局-您不必用ImageView、TextView或其他子级填充它;)@Andreas Bf-感谢您的回复。public MyComponent(上下文上下文,AttributeSet attr)当您从xml文件传递attr时,将调用此构造函数。这部分我已经完成了。我想从java代码(而不是从xml布局)创建组件。像调用构造函数public MyComponent(Context Context){…}一样,我必须从java代码中传递值/attr。我不确定您的自定义标记是否有效,但我知道这是可行的:我的示例扩展了一个相对布局-您不必用ImageView、TextView或其他子级填充它;)@Andreas Bf-感谢您的回复。public MyComponent(上下文上下文,AttributeSet attr)当您从xml文件传递attr时,将调用此构造函数。这部分我已经完成了。我想从java代码(而不是从xml布局)创建组件。像调用构造函数publicMyComponent(Context){…}一样,我必须从java代码中传递值/attr。