Поддержка эффектов для окон

This commit is contained in:
Victor 2015-05-05 12:46:54 +03:00
parent e0635c3f00
commit 084fc9810a
2 changed files with 17 additions and 7 deletions

View File

@ -197,9 +197,9 @@ public final class Parser {
if (match(token, TokenType.WINDOW)) { if (match(token, TokenType.WINDOW)) {
if (match(TokenType.SHOW)) if (match(TokenType.SHOW))
ViewActivity.getInstance().windowShow(); return ViewActivity.getInstance().windowShow(matchWithEffect());
else if (match(TokenType.HIDE)) else if (match(TokenType.HIDE))
ViewActivity.getInstance().windowHide(); return ViewActivity.getInstance().windowHide(matchWithEffect());
return false; return false;
} }

View File

@ -264,14 +264,24 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
} }
} }
public void windowShow() { public boolean windowShow(String effect) {
if (textview.getVisibility() != View.VISIBLE) if (textview.getVisibility() != View.VISIBLE)
textview.setVisibility(View.VISIBLE); textview.setVisibility(View.VISIBLE);
if (!TextUtils.isEmpty(effect)) {
background(backgroundType, backgroundName, effect);
return true;
}
return false;
} }
public void windowHide() { public boolean windowHide(String effect) {
if (textview.getVisibility() != View.INVISIBLE) if (textview.getVisibility() != View.INVISIBLE)
textview.setVisibility(View.INVISIBLE); textview.setVisibility(View.INVISIBLE);
if (!TextUtils.isEmpty(effect)) {
background(backgroundType, backgroundName, effect);
return true;
}
return false;
} }
private void windowSwitchVisibility() { private void windowSwitchVisibility() {
@ -389,9 +399,9 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
} }
public void text(String text) { public void text(String text) {
if (TextUtils.isEmpty(text)) windowHide(); if (TextUtils.isEmpty(text)) windowHide("");
else { else {
windowShow(); windowShow("");
textview.setText(formatString(text)); textview.setText(formatString(text));
} }
} }
@ -400,7 +410,7 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
if (whoid.equalsIgnoreCase("th")) text("~ " + text + " ~"); if (whoid.equalsIgnoreCase("th")) text("~ " + text + " ~");
else if (!characters.contains(whoid)) text(text); else if (!characters.contains(whoid)) text(text);
else { else {
windowShow(); windowShow("");
final Characters.NameInfo person = characters.get(whoid); final Characters.NameInfo person = characters.get(whoid);
final String who = person.name; final String who = person.name;
Spannable spannable = formatString(who + "\n" + text); Spannable spannable = formatString(who + "\n" + text);