【问题标题】:Creating a custom widget with a group of existing widgets?使用一组现有小部件创建自定义小部件?
【发布时间】:2015-12-22 16:08:49
【问题描述】:

我已经四处寻找如何做到这一点,但我仍然不太确定,所以我决定在这里问。

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

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

我很困惑如何解决这个问题,请提供任何帮助! 提前致谢!

图片:

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

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

【问题讨论】:

    标签: android custom-widgets


    【解决方案1】:

    创建自定义视图。

    创建一个类 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>
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-08
        • 2023-03-20
        • 2019-11-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多