创建自定义视图的步骤

Posted

技术标签:

【中文标题】创建自定义视图的步骤【英文标题】:Steps for creating a custom view 【发布时间】:2014-08-07 15:23:11 【问题描述】:

如何创建具有自定义样式的自定义视图?我的布局中有很多 TextView,很难管理所有这些。我想将它们分组到具有自定义外观的自定义视图(一个圆角框)中,并在我的代码中将值提供给自定义视图代码以自行处理。

我正在照顾的是这样的:

有人能告诉我创建这种带有圆角框且里面几乎没有 TextView 的自定义视图的步骤吗?

【问题讨论】:

使用容器布局(首选相对布局)并将您的文本视图嵌入其中?没那么难吧? 【参考方案1】:

两种方法:

您可以为视图创建布局。您需要采用不同的布局小部件,例如 textviews 等并为其分配值。

您可以使用画布来绘制这样的视图。

【讨论】:

【参考方案2】:

正确的方法是从 View 继承。以编程方式或在设计器中您将任何布局分配给此视图。到布局你分配你的元素(TextViews,不管)。 在派生的 View 类中创建填充内部元素的方法,比如 getter/setter,比如 c# 中的属性。那些是公开的。 然后将您的自定义复合控件放在您的主视图上。 我自己用这种方式(但纯粹是通过代码)创建了一个带有自定义滚动条的面向列的表格控件,并且效果很好。啊,另外你可以在你的派生视图上绘制形状,这样你就可以相对简单地应用圆角,甚至颜色过渡。

【讨论】:

【参考方案3】:

我假设您正在使用 eclipse 创建您的 android 项目。

转到您的 src 文件并创建一个新布局(相对布局在这里效果最好)。您正在创建的布局有一个视觉表示,因此您应该能够使用它。将文本视图拖放到您想要它们的位置并给它们唯一的名称。然后在你的java代码中,调用textviews:

TextView text = (TextView) findViewById(R.id.textview_name_here);
text.setText("Your Text Here");

网上有很多例子。

【讨论】:

以上是关于创建自定义视图的步骤的主要内容,如果未能解决你的问题,请参考以下文章

创建自定义视图的自定义列表

使用自定义视图的AlertDialog

如何使用按钮创建自定义集合视图?

创建自定义视图? [关闭]

使用动画创建自定义视图

Android:如何根据大小创建自定义布局