android底部导航栏用RadioGroup+RadioButton,但是气泡功能怎么实现呢?

a6efce1b9d16fdfaa8f472f2b38f8c5494ee7b15.jpg

本来我用了LinearLayout+自定义控件了(ImageView+TextView),但是选中不能变色。。。

阅读 6.3k
6 个回答

自己实现 Tab 标签的时候,要在切换时手动改变 View 的状态,才能让 View 显示对应状态的效果。你这里有没有把 那个标签 设置成 selected 的?

我做这个底部导航时使的是FragmentTabHost感觉还不错
至于气泡功能 开源应该有很多的

选中变色应该用seletor,表示选中可以设置view状态为actived

我将tab的背景设成自定义的itemtrue.xml,

android:background="@drawable/itemtrue"

然后在itemtrue.xml其中设置状态,其中state有state_pressed、state_checked、state_enabled多种,你要什么样的效果自己看下分别的效果

<item
        android:drawable="@drawable/darkgreen"
        android:state_pressed="true" />

效果如下:
图片描述

自定义你的 RadioButton 在 onDraw 方法用 canvas 画出你的气泡(形状轮廓和数字)。另一种是 framelayout做为你的单元按钮,气泡占位隐藏,有通知是显示(配合切图显示不同数字)

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