Поддержка псевдонима для спрайта
This commit is contained in:
parent
e728a91ff5
commit
0a2718a3fd
@ -41,6 +41,7 @@ public final class Lexer {
|
||||
KEYWORDS.put("bg", TokenType.BG);
|
||||
KEYWORDS.put("cg", TokenType.CG);
|
||||
KEYWORDS.put("at", TokenType.AT);
|
||||
KEYWORDS.put("as", TokenType.AS);
|
||||
KEYWORDS.put("window", TokenType.WINDOW);
|
||||
KEYWORDS.put("hide", TokenType.HIDE);
|
||||
KEYWORDS.put("show", TokenType.SHOW);
|
||||
|
@ -271,8 +271,13 @@ public final class Parser {
|
||||
if (match(TokenType.AT)) {
|
||||
position = consume(TokenType.WORD).getText();
|
||||
}
|
||||
// Псевдоним (для показа одно и того же спрайта в разных местах)
|
||||
String alias = "";
|
||||
if (match(TokenType.AS)) {
|
||||
alias = consume(TokenType.WORD).getText();
|
||||
}
|
||||
matchWithEffect();
|
||||
ViewActivity.getInstance().sprite(whoid, params, position);
|
||||
ViewActivity.getInstance().sprite(whoid, params, position, alias);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -43,6 +43,7 @@ public enum TokenType {
|
||||
SHOW,
|
||||
|
||||
AT,
|
||||
AS,
|
||||
WITH,
|
||||
|
||||
MENU,
|
||||
|
@ -202,13 +202,14 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
|
||||
spriteInContainer.clear();
|
||||
}
|
||||
|
||||
public void sprite(String whoid, String params, String position) {
|
||||
public void sprite(String whoid, String params, String position, String alias) {
|
||||
ImageView img;
|
||||
if (spriteInContainer.containsKey(whoid)) {
|
||||
img = spriteInContainer.get(whoid);
|
||||
final String key = TextUtils.isEmpty(alias) ? whoid : alias;
|
||||
if (spriteInContainer.containsKey(key)) {
|
||||
img = spriteInContainer.get(key);
|
||||
} else {
|
||||
img = new ImageView(this);
|
||||
spriteInContainer.put(whoid, img);
|
||||
spriteInContainer.put(key, img);
|
||||
}
|
||||
final FrameLayout.LayoutParams flp = new FrameLayout.LayoutParams(
|
||||
FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.MATCH_PARENT);
|
||||
|
Loading…
Reference in New Issue
Block a user