mirror of
https://gitee.com/willfree/min-vpn-client_v2.git
synced 2026-10-04 19:42:00 +08:00
解决了按钮一直抖动的BUG
This commit is contained in:
1 parent
ea6d8f08dd
commit
62dd3fdb02
2 files changed
+25
-17
No files matched your search
@@ -134,7 +134,7 @@ public class MainActivity extends MINVpnBaseActivity<MainActivityPresenter>
|
||||
// 设置点击连接按钮时的执行逻辑
|
||||
btnConnect.setOnClickListener(v -> {
|
||||
btnConnect.setClickable(false);
|
||||
ViewExtensionKt.animer(btnConnect,
|
||||
ViewExtensionKt.animer0(btnConnect,
|
||||
ViewExtensionKt.alphaAnimation(btnConnect,1.0f,0.3f));
|
||||
|
||||
if(!isConnected){
|
||||
@@ -223,50 +223,38 @@ public class MainActivity extends MINVpnBaseActivity<MainActivityPresenter>
|
||||
EventBus.getDefault().removeStickyEvent(connectEvent);
|
||||
// 接收VPN service状态,展示到界面
|
||||
if(connectEvent.getSuccess()){
|
||||
System.out.println("@@@@ 1");
|
||||
isConnected=connectEvent.getConnected();
|
||||
if(connectEvent.getConnected()){
|
||||
System.out.println("@@@@ 1.1");
|
||||
showSuccess("连接成功");
|
||||
VPNstatus.setText("VPN正在运行中");
|
||||
VPNstatus.setTextColor(getColor(R.color.colorPrimary));
|
||||
}else{
|
||||
System.out.println("@@@@ 1.2");
|
||||
showSuccess("断开连接成功");
|
||||
VPNstatus.setText("VPN已经停止运行");
|
||||
VPNstatus.setTextColor(getColor(R.color.colorPrimaryYellow));
|
||||
}
|
||||
}else{
|
||||
System.out.println("@@@@ 2");
|
||||
if (connectEvent.getConnected()) {
|
||||
System.out.println("@@@@ 2.1");
|
||||
showError("断开连接失败");
|
||||
VPNstatus.setText("断开连接失败");
|
||||
VPNstatus.setTextColor(getColor(R.color.colorPrimaryYellow));
|
||||
} else {
|
||||
System.out.println("@@@@ 2.2");
|
||||
showError("连接失败");
|
||||
VPNstatus.setText("连接失败");
|
||||
VPNstatus.setTextColor(getColor(R.color.colorPrimaryYellow));
|
||||
}
|
||||
}
|
||||
|
||||
System.out.println("fuck 1");
|
||||
// 修改按钮状态
|
||||
btnConnect.setClickable(true);
|
||||
System.out.println("fuck 2");
|
||||
System.out.println("目前连接状态: "+isConnected);
|
||||
if (isConnected) {
|
||||
System.out.println("fuck 2.1");
|
||||
btnConnect.setImageResource(R.drawable.security);
|
||||
} else {
|
||||
System.out.println("fuck 2.2");
|
||||
btnConnect.setImageResource(R.drawable.launch);
|
||||
}
|
||||
System.out.println("fuck 3");
|
||||
ViewExtensionKt.animer(btnConnect,ViewExtensionKt.alphaAnimation(btnConnect,
|
||||
0.3f,0.1f));
|
||||
System.out.println("fuck 4");
|
||||
ViewExtensionKt.animer1000(btnConnect,ViewExtensionKt.alphaAnimation(btnConnect,
|
||||
0.3f,1.0f));
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
|
||||
@@ -280,7 +268,7 @@ public class MainActivity extends MINVpnBaseActivity<MainActivityPresenter>
|
||||
// 修改按钮状态
|
||||
btnConnect.setClickable(true);
|
||||
btnConnect.setImageResource(R.drawable.launch);
|
||||
ViewExtensionKt.animer(btnConnect,ViewExtensionKt.alphaAnimation(btnConnect,
|
||||
0.3f,0.1f));
|
||||
ViewExtensionKt.animer1000(btnConnect,ViewExtensionKt.alphaAnimation(btnConnect,
|
||||
0.3f,1.0f));
|
||||
}
|
||||
}
|
||||
+20
@@ -121,6 +121,26 @@ fun View.animer(vararg animations: ObjectAnimator, listener: Animator.AnimatorLi
|
||||
animatorSet.addListener(listener)
|
||||
animatorSet.start()
|
||||
}
|
||||
fun View.animer0(vararg animations: ObjectAnimator) {
|
||||
if (animations.isEmpty())
|
||||
return
|
||||
val animatorSet = AnimatorSet()
|
||||
val builder = animatorSet.setDuration(0)
|
||||
.play(animations[0])
|
||||
animations.filterIndexed { index, _ -> index != 0 }
|
||||
.forEach { builder.with(it) }
|
||||
animatorSet.start()
|
||||
}
|
||||
fun View.animer1000(vararg animations: ObjectAnimator) {
|
||||
if (animations.isEmpty())
|
||||
return
|
||||
val animatorSet = AnimatorSet()
|
||||
val builder = animatorSet.setDuration(1000)
|
||||
.play(animations[0])
|
||||
animations.filterIndexed { index, _ -> index != 0 }
|
||||
.forEach { builder.with(it) }
|
||||
animatorSet.start()
|
||||
}
|
||||
|
||||
fun View.animer(vararg animations: ObjectAnimator, duration: Long) {
|
||||
if (animations.isEmpty())
|
||||
|
||||
Reference in new issue
Block a user