diff --git a/README.md b/README.md index 82d89b73dd6b889681074ef7b5bebf7af024e86b..a6c6f82f36c0536f5932228cc6c5c18cd68ffbd2 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,9 @@ ohos:id="$+id:refresh_fun_game" ohos:height="match_parent" ohos:width="match_parent" - hap:game_type="1"> + hap:game_type="1" + hap:top_text_size="20fp" + hap:bottom_text_size="20fp"> + hap:game_type="0" + hap:ball_speed="fast"> + hap:game_type="1" + hap:top_text_size="20fp" + hap:bottom_text_size="20fp" + > = TANK_ROW_NUM ? TANK_ROW_NUM - 1 : index; index = index < 0 ? 0 : index; return index; diff --git a/fungamerefresh/src/main/java/com/hitomi/refresh/view/FunGameHeader.java b/fungamerefresh/src/main/java/com/hitomi/refresh/view/FunGameHeader.java index e383b3cec916cce59e3af8b3d8a03d1d1318761d..366fce9cdc432537934dfad2d7f3127f57a1c330 100644 --- a/fungamerefresh/src/main/java/com/hitomi/refresh/view/FunGameHeader.java +++ b/fungamerefresh/src/main/java/com/hitomi/refresh/view/FunGameHeader.java @@ -81,10 +81,10 @@ public class FunGameHeader extends StackLayout implements Component.EstimateSize gameOverText = attrSet.getAttr(Styleable.TEXT_GAME_OVER).get().getStringValue(); } if (attrSet.getAttr(Styleable.TOP_TEXT_SIZE).isPresent()) { - topMaskTextSize = (int) attrSet.getAttr(Styleable.TOP_TEXT_SIZE).get().getFloatValue(); + topMaskTextSize = attrSet.getAttr(Styleable.TOP_TEXT_SIZE).get().getDimensionValue(); } if (attrSet.getAttr(Styleable.BOTTOM_TEXT_SIZE).isPresent()) { - bottomMaskTextSize = (int) attrSet.getAttr(Styleable.BOTTOM_TEXT_SIZE).get().getFloatValue(); + bottomMaskTextSize = attrSet.getAttr(Styleable.BOTTOM_TEXT_SIZE).get().getDimensionValue(); } } initView(attrSet); @@ -122,6 +122,9 @@ public class FunGameHeader extends StackLayout implements Component.EstimateSize shapeElement.setRgbColor(RgbColor.fromArgbInt(Color.WHITE.getValue())); maskTextView.setBackground(shapeElement); maskTextView.setTextAlignment(gravity | TextAlignment.HORIZONTAL_CENTER); + if (textSize < 0) { + textSize = 35; + } maskTextView.setTextSize(textSize); maskTextView.setText(text); return maskTextView; @@ -328,4 +331,17 @@ public class FunGameHeader extends StackLayout implements Component.EstimateSize funGameView.setTextLoadingFinished(loadingFinishedStr); } + public String getHeaderLodingStr() { + return funGameView.getTextLoading(); + } + + public String getHeaderGameOverStr() { + return funGameView.getTextGameOver(); + } + + public String getHeaderLoadingFinishedStr() { + return funGameView.getTextLoadingFinished(); + } + + } diff --git a/fungamerefresh/src/main/java/com/hitomi/refresh/view/FunGameRefreshView.java b/fungamerefresh/src/main/java/com/hitomi/refresh/view/FunGameRefreshView.java index 9f3277a6df5f06e243f1b8098462eaa9946a94ac..0e5fc97ec6da6eed730eeb64864b713c309f8238 100644 --- a/fungamerefresh/src/main/java/com/hitomi/refresh/view/FunGameRefreshView.java +++ b/fungamerefresh/src/main/java/com/hitomi/refresh/view/FunGameRefreshView.java @@ -92,9 +92,6 @@ public class FunGameRefreshView extends DirectionalLayout implements Component.L public FunGameRefreshView(Context context, AttrSet attrSet, String styleName) { super(context, attrSet, styleName); - if (getChildCount() > 1) { - throw new RuntimeException("FunGameRefreshView can only contain one View"); - } setOrientation(VERTICAL); initView(context, attrSet); } @@ -108,6 +105,9 @@ public class FunGameRefreshView extends DirectionalLayout implements Component.L @Override public void onRefreshed(Component component) { + if (getChildCount() > 2) { + throw new RuntimeException("FunGameRefreshView can only contain one Component"); + } hideHeaderHeight = -header.getHeight(); headerLayoutParams = header.getLayoutConfig(); headerLayoutParams.setMarginTop(hideHeaderHeight); @@ -345,6 +345,15 @@ public class FunGameRefreshView extends DirectionalLayout implements Component.L header.setHeaderLodingStr(loadingText); } + /** + * 获取加载开始文字 + * + * @return 文字内容 + */ + public String getLoadingText() { + return header.getHeaderLodingStr(); + } + /** * 设置加载结束文字 * @@ -357,6 +366,16 @@ public class FunGameRefreshView extends DirectionalLayout implements Component.L header.setHeaderLoadingFinishedStr(loadingFinishedText); } + /** + * 获取加载结束文字 + * + * @return 文字内容 + */ + public String getLoadingFinishedText() { + return header.getHeaderLoadingFinishedStr(); + } + + /** * 设置游戏结束文字 * @@ -369,6 +388,16 @@ public class FunGameRefreshView extends DirectionalLayout implements Component.L header.setHeaderGameOverStr(gameOverText); } + /** + * 获取游戏结束文字 + * + * @return 文字内容 + */ + public String getGameOverText() { + return header.getHeaderGameOverStr(); + } + + /** * 设置上边帷幕中的文字 * @@ -381,6 +410,7 @@ public class FunGameRefreshView extends DirectionalLayout implements Component.L header.setTopMaskViewText(topMaskText); } + /** * 设置下边帷幕中的文字 * @@ -393,6 +423,15 @@ public class FunGameRefreshView extends DirectionalLayout implements Component.L header.setBottomMaskViewText(bottomMaskText); } + /** + * 获取游戏状态 + * @return 游戏状态 + */ + public int getGameStatus(){ + return header.getGameStatus(); + } + + private boolean isEmptyByText(String text) { return text == null || text.equals(""); } diff --git a/fungamerefresh/src/main/java/com/hitomi/refresh/view/HitBlockView.java b/fungamerefresh/src/main/java/com/hitomi/refresh/view/HitBlockView.java index ce264f651697015f8aff3d165f48ac160dd926a0..cd292bcb48f64d8aae54b5f0a2854afd46b66426 100644 --- a/fungamerefresh/src/main/java/com/hitomi/refresh/view/HitBlockView.java +++ b/fungamerefresh/src/main/java/com/hitomi/refresh/view/HitBlockView.java @@ -106,7 +106,7 @@ public class HitBlockView extends FunGameView { blockHorizontalNum = BLOCK_HORIZONTAL_NUM; } if (attrs != null && attrs.getAttr(Styleable.BALL_SPEED).isPresent()) { - speed = attrs.getAttr(Styleable.BALL_SPEED).get().getIntegerValue(); + speed = getBallSpeed(attrs.getAttr(Styleable.BALL_SPEED).get().getStringValue()); } else { speed = SPEED; } @@ -302,5 +302,18 @@ public class HitBlockView extends FunGameView { } } + private int getBallSpeed(String ball_speed) { + switch (ball_speed) { + case "low": + return 3; + case "medium": + return 6; + case "fast": + return 9; + default: + return 6; + } + } + }