每当用户在上键入内容时,我都将启用按钮的可见性(从GONE到VISIBLE),并设置其alpha值的动画EditText。
private void ShowSendButton()
{
if (sendbtn.Visibility != ViewStates.Visible)
{
sendbtn.Visibility = ViewStates.Visible;
sendbtn.Animate().Alpha(1.0f);
}
}
无论何时EditText为空,按钮都会淡出并且其可见性设置为GONE,如下所示:
private void HideSendButton()
{
if (sendbtn.Visibility != ViewStates.Gone)
{
sendbtn.Animate().Alpha(0.0f).SetDuration(150).Start();
sendbtn.Visibility = ViewStates.Gone;
}
}
该ShowSendButton动画始终发挥两次,动画结束后,即右,按钮的alpha值重置回0.0,再次播放动画渐变。
在HideSendButton动画中不会发生这种情况。
这是触发动画的代码:
editText.TextChanged += (s, e) =>
{
if (e.AfterCount != 0)
{
ShowSendButton();
}
else
{
HideSendButton();
}
};
这是按钮XML:
<Button
android:id="@+id/sendbtn"
android:layout_width="40dp"
android:layout_height="40dp
android:textColor="#fff"
android:visibility="gone"
android:alpha="0"/>
青春有我
智慧大石
相关分类