Skip to content

Commit 2d5e5ef

Browse files
committed
删除动画效果,因为狂点时会导致菜单错乱
1 parent 2518bee commit 2d5e5ef

File tree

6 files changed

+3
-97
lines changed

6 files changed

+3
-97
lines changed

app/build/outputs/apk/app-debug.apk

-2.66 KB
Binary file not shown.

app/src/main/java/com/yyy/djk/dropdownmenu/DropDownMenu.java

Lines changed: 3 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import android.content.Context;
44
import android.content.res.TypedArray;
5-
import android.os.Handler;
65
import android.support.annotation.NonNull;
76
import android.text.TextUtils;
87
import android.util.AttributeSet;
@@ -11,8 +10,6 @@
1110
import android.view.Gravity;
1211
import android.view.View;
1312
import android.view.ViewGroup;
14-
import android.view.animation.Animation;
15-
import android.view.animation.AnimationUtils;
1613
import android.widget.FrameLayout;
1714
import android.widget.LinearLayout;
1815
import android.widget.TextView;
@@ -38,9 +35,6 @@ public class DropDownMenu extends LinearLayout {
3835
//tabMenuView里面选中的tab位置,-1表示未选中
3936
private int current_tab_position = -1;
4037

41-
//分别是菜单进入,弹出,遮罩View进入,弹出动画
42-
private Animation dropdown_in, dropdown_out, dropdown_mask_in, dropdown_mask_out;
43-
4438
//分割线颜色
4539
private int dividerColor = 0xffcccccc;
4640
//tab选中颜色
@@ -57,10 +51,6 @@ public class DropDownMenu extends LinearLayout {
5751
//tab未选中图标
5852
private int menuUnselectedIcon = R.mipmap.drop_down_unselected_icon;
5953

60-
private boolean hasAnimation = true;
61-
62-
private boolean tabClickable = false;
63-
6454

6555
public DropDownMenu(Context context) {
6656
super(context, null);
@@ -109,12 +99,6 @@ public DropDownMenu(Context context, AttributeSet attrs, int defStyleAttr) {
10999
containerView.setLayoutParams(new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT));
110100
addView(containerView, 2);
111101

112-
//初始化动画
113-
dropdown_in = AnimationUtils.loadAnimation(context, R.anim.dropdown_in);
114-
dropdown_out = AnimationUtils.loadAnimation(context, R.anim.dropdown_out);
115-
dropdown_mask_in = AnimationUtils.loadAnimation(context, R.anim.dropdown_mask_in);
116-
dropdown_mask_out = AnimationUtils.loadAnimation(context, R.anim.dropdown_mask_out);
117-
118102
}
119103

120104
/**
@@ -170,17 +154,7 @@ private void addTab(@NonNull List<String> tabTexts, int i) {
170154
tab.setOnClickListener(new OnClickListener() {
171155
@Override
172156
public void onClick(View v) {
173-
tabClickable = false;
174-
setTabClickable(tabClickable);
175157
switchMenu(tab);
176-
new Handler().postDelayed(new Runnable() {
177-
@Override
178-
public void run() {
179-
tabClickable = true;
180-
setTabClickable(tabClickable);
181-
}
182-
},200);
183-
184158
}
185159
});
186160
tabMenuView.addView(tab);
@@ -202,8 +176,8 @@ public void setTabText(String text) {
202176
((TextView) tabMenuView.getChildAt(current_tab_position)).setText(text);
203177
}
204178

205-
public void setTabClickable(boolean clickable){
206-
for (int i = 0; i < tabMenuView.getChildCount(); i= i+2) {
179+
public void setTabClickable(boolean clickable) {
180+
for (int i = 0; i < tabMenuView.getChildCount(); i = i + 2) {
207181
tabMenuView.getChildAt(i).setClickable(clickable);
208182
}
209183
}
@@ -215,31 +189,8 @@ public void closeMenu() {
215189
((TextView) tabMenuView.getChildAt(current_tab_position)).setTextColor(textUnselectedColor);
216190
((TextView) tabMenuView.getChildAt(current_tab_position)).setCompoundDrawablesWithIntrinsicBounds(null, null,
217191
getResources().getDrawable(menuUnselectedIcon), null);
218-
if (hasAnimation) {
219-
popupMenuViews.getChildAt(current_tab_position / 2 + 1).startAnimation(dropdown_out);
220-
} else {
221-
popupMenuViews.setVisibility(View.GONE);
222-
}
192+
popupMenuViews.setVisibility(View.GONE);
223193
current_tab_position = -1;
224-
if (hasAnimation)
225-
maskView.startAnimation(dropdown_mask_out);
226-
227-
dropdown_out.setAnimationListener(new Animation.AnimationListener() {
228-
@Override
229-
public void onAnimationStart(Animation animation) {
230-
231-
}
232-
233-
@Override
234-
public void onAnimationEnd(Animation animation) {
235-
popupMenuViews.setVisibility(View.GONE);
236-
}
237-
238-
@Override
239-
public void onAnimationRepeat(Animation animation) {
240-
241-
}
242-
});
243194

244195
}
245196

@@ -266,11 +217,7 @@ private void switchMenu(View target) {
266217
} else {
267218
if (current_tab_position == -1) {
268219
popupMenuViews.setVisibility(View.VISIBLE);
269-
if (hasAnimation)
270-
maskView.startAnimation(dropdown_mask_in);
271220
popupMenuViews.getChildAt(i / 2 + 1).setVisibility(View.VISIBLE);
272-
if (hasAnimation)
273-
popupMenuViews.getChildAt(i / 2 + 1).startAnimation(dropdown_in);
274221
} else {
275222
popupMenuViews.getChildAt(i / 2 + 1).setVisibility(View.VISIBLE);
276223
}

app/src/main/res/anim/dropdown_in.xml

Lines changed: 0 additions & 12 deletions
This file was deleted.

app/src/main/res/anim/dropdown_mask_in.xml

Lines changed: 0 additions & 9 deletions
This file was deleted.

app/src/main/res/anim/dropdown_mask_out.xml

Lines changed: 0 additions & 9 deletions
This file was deleted.

app/src/main/res/anim/dropdown_out.xml

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)