利用Tag来记录当前状态属性

xiaoxiao2021-02-28  49

本人做事的风格,就是先上图,再说话,简单明了,方便!

要实现上面的效果,有很多种方法可实现,而我下面的,贴出来肯定会被大家喷,但是我只想说setTag()和getTag的用法:

如下: private static final String TITLE_IMG_TAG_DOWN = “down”; private static final String TITLE_IMG_TAG_UP = “up”;

//向下的图标 mTitleBar.setTitleImg(R.drawable.arrow_down); //通过tag去记录当前的状态 mTitleBar.getTitleImgView().setTag(TITLE_IMG_TAG_DOWN); mTitleBar.getTitleImgView().setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { filterLayoutAnim(); } }); private void filterLayoutAnim() { if (isFilterAniming) { return; } isFilterAniming = true; if (TextUtils.equals(TITLE_IMG_TAG_DOWN, (String) mTitleBar.getTitleImgView().getTag())) { //向上的图标 mTitleBar.setTitleImg(R.drawable.arrow_up); //通过tag去设置当前的状态 mTitleBar.getTitleImgView().setTag(TITLE_IMG_TAG_UP); //加载动画 Animation animation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.push_top_in); animation.setAnimationListener(new AnimationAdapter() { @Override public void onAnimationStart(Animation animation) { listview.setVisibility(View.VISIBLE); } @Override public void onAnimationEnd(Animation animation) { listview.clearAnimation(); isFilterAniming = false; } }); listview.startAnimation(animation); } else { mTitleBar.setTitleImg(R.drawable.arrow_down); mTitleBar.getTitleImgView().setTag(TITLE_IMG_TAG_DOWN); Animation animation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.push_top_out); animation.setAnimationListener(new AnimationAdapter() { @Override public void onAnimationEnd(Animation animation) { listview.setVisibility(View.GONE); listview.clearAnimation(); isFilterAniming = false; } }); listview.startAnimation(animation); } }

以上,没啥好说的,仅仅只是为了tag的用法,因为以前只是在listView和recyclerView中使用过

转载请注明原文地址: https://www.6miu.com/read-40599.html

最新回复(0)