android 实现类似Iphone底部消息数量提示
16lz
2021-12-04
阅读更多
1.xml布局
2.代码控制切换GroupRadio
private void mainBtnGroupOnclick() {mainBtnGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) {if (navigaionBtn.getId() == checkedId) {tabHost.setCurrentTab(1);} else if (varyBtn.getId() == checkedId) {tabHost.setCurrentTab(2);} else if (doingBtn.getId() == checkedId) {tabHost.setCurrentTab(3);} else if (settingBtn.getId() == checkedId) {tabHost.setCurrentTab(5);}if (checkedId != noticeBtn.getId()) {noticeBtn.setChecked(false);noticeBtn.setFocusableInTouchMode(false);}}});navigaionBtn.setOnClickListener(this);varyBtn.setOnClickListener(this);doingBtn.setOnClickListener(this);noticeBtn.setOnClickListener(this);settingBtn.setOnClickListener(this);}@Overridepublic void onClick(View view) {if (view.getId() == noticeBtn.getId()) {noticeBtn.setBackgroundResource(R.drawable.home_btn_bg_d);navigaionBtn.setChecked(false);doingBtn.setChecked(false);varyBtn.setChecked(false);settingBtn.setChecked(false);settingBtn.setFocusableInTouchMode(false);varyBtn.setFocusableInTouchMode(false);doingBtn.setFocusableInTouchMode(false);navigaionBtn.setFocusableInTouchMode(false);tabHost.setCurrentTab(4);} else {noticeBtn.setBackgroundColor(android.R.color.transparent);}}
3.更新数字
Handler myHandler = new Handler() {public void handleMessage(Message msg) {switch (msg.what) {case Main.NOTICE_COUNTER_MESSAGE_WHAT:int counter = msg.getData().getInt("counter", 0);if (counter == 0) {noticeCountText.setVisibility(View.GONE);} else {noticeCountText.setText("" + counter);noticeCountText.setVisibility(View.VISIBLE);}break;}super.handleMessage(msg);}};private void updateNoticeCounter() {new Thread(new Runnable() {@Overridepublic void run() {while (!Thread.currentThread().isInterrupted()) {Message message = new Message();message.what = Main.NOTICE_COUNTER_MESSAGE_WHAT;Bundle data = new Bundle();data.putInt("counter", NoticeHolder.getNoticeInfos().size());message.setData(data);myHandler.sendMessage(message);try {Thread.sleep(100);} catch (InterruptedException e) {Thread.currentThread().interrupt();}}}}).start();}
- 查看图片附件
更多相关文章
- Android纠正Activity横竖屏切换的生命周期的错误
- android横竖屏切换的一点感想
- Android(安卓)全局Activity动画设置
- 设置 TextView 文字居中
- Android(安卓)解决setRequestedOrientation之后手机屏幕的旋转不
- Android(安卓)ImageView实现上一页,下一页图片切换
- 设置TextView文字居中
- 安卓第三天---ViewPager控件实现滑动切换图片
- Android笔记-3