使用一组现有小部件创建自定义小部件?

时间:2015-04-26 07:11:18

标签: android custom-widgets

我已经四处看看如何做到这一点,但我还是不太确定,所以我决定在这里问。

我希望创建一个小工具列表,这些小工具将显示艺术家姓名,流派和他们将要播放的场地。下面是4个小部件的图片,包括一个imageView和3个纯文本视图,我想以某种方式分组并创建一个自定义小部件,我可以调用所有4个组件,以显示相关信息。

我也希望让这个小部件复制到一个设定的限制,一个接一个地显示不同的艺术家,流派和场地。

我完全坚持如何处理这个问题,任何帮助都会很棒! 提前谢谢!

图像:

http://puu.sh/hr9x4/b3bffdf263.jpg

编辑:碰撞!任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

创建自定义视图。

创建一个类Widget并使用线性布局扩展它。在构造函数中,展开包含布局的布局(图像视图和3个文本视图)。

通过调用addView

将膨胀的视图添加到类本身

编写setter函数,在其中您将接受包含与事件相关的信息的事件类的对象,该函数只是将值设置为适当的文本视图。

Class Widget extends LinearLayout{
private TextView artistName;
public Widget(Context context) {
        super(context);

        View view =  LayoutInflater.from(getContext()).inflate(
                R.layout.widget, null);
        artistName = view.findViewById(R.id.artistName);
        this.addView(view);

    }

public void setName(Event event){
   artistName.setText(event.getArtistName());
}
}

在您的活动布局中,您可以将其用作

<pkg_name.Widget android:id="@+id/widget1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >
</pkg_name.Widget>

答案 1 :(得分:0)

坦率地说,您应该首先为Android开发人员阅读official documentation,因为您可以找到问题的基础知识。如果您想学习示例并详细查看代码,请查看我对creating a custom Android widget的体验。在那里,我不得不解决小部件透明度的问题。也许它对你也有用。