android 用什么控件可以设计成类似于 WEB中的 tag 标签这种形式

android 用什么控件可以设计成类似于 WEB设计中的 tag|标签这种形式

比如:就像这种形式的,上图:

请输入图片描述

阅读 5.3k
3 个回答

鉴于题主不是直接回复我的,所以一直没有看到。今天微博看到segmentfault分享才记起来。

其实还是有点儿小糊涂,题主的意思是,单独实现这些标签中的一个,还是一个大控件,里面的item是这样的?

如果只是显示一个小标签,这很简单,如下图:
标签
我们可以把这个标签分为三部分

  • 背景(略带灰色圆角的边框)
  • 图标(左边的五边形)
  • 文字(node.js)

这三部分放在一个TextView里,分别是

  • android:background
  • android:drawableLeft
  • android:text

background在这里可以用两种实现方式

  • 使用android提供的shape
  • 使用.9.png,让设计师切图

另外有一个属性可以控制图标与文字的间距,如:

android:drawablePadding="10dp"

实现起来还是蛮简单的,level 0级别,所以细节不赘述。

至于是大控件,如GridView之类,item是这种风格的,可以考虑自定义控件。

自定义也有不同的方案:

  • 粗糙简单的实现,一个vertical的LinearLayout,然后代码添加的方式加入每一个item。
inflateItem(ViewGroup viewGroup, int itemResId)
  • 不考虑不对齐问题的话,直接GridView,item用前面的TextView就可以。
  • 完全自定义或者找第三方的控件,想必楼下会有人给你提供的~
新手上路,请多包涵

自定义ViewGroup

自定义ViewGroup 在onLayout onMeasure里面去处理吧,不是很难,以前写过

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题