소스 검색

[컨텐츠][New] 두 줄 처리 규칙 수정 : 12자 이하는 줄바꿈하지 않음.

hyodong.min 7 년 전
부모
커밋
34021695e5

+ 1 - 32
app/src/main/java/kr/co/zumo/app/lifeplus/bean/api/LifeplusContentsBean.java

@@ -170,38 +170,7 @@ public class LifeplusContentsBean extends JsonBeanBase {
    * @return
    */
   public String getTwoLineTitle() {
-    // 타이틀 줄바꿈이 사라져서 강제로 줄바꿈 해줌
-    String twoLineTitle = this.title;
-
-    if (StringUtil.isEmpty(twoLineTitle)) {
-      return "";
-    }
-
-    // \\n 문자를 줄바꿈 문자로 변경
-    twoLineTitle = twoLineTitle.replaceAll("\\\\n", System.getProperty("line.separator"));
-
-    // 줄바꿈이 있으면 그대로 전달
-    if (twoLineTitle.contains("\n")) {
-      return twoLineTitle;
-    }
-    else {
-      String[] titles = twoLineTitle.split(" ");
-      int len = titles.length;
-      // 줄바꿈 위치 지정 6단어 이상이면 4번째부터, 그 이하는 3번째 단어에서 줄바꿈 해줌
-      int target = len > 5 ? 3 : 2;
-      // 줄바꿈 할 위치보다 단어가 적으면 하지 않음
-      if (target >= len) {
-        target = -1;
-      }
-      StringBuilder stringBuilder = new StringBuilder();
-      for (int i = 0; i < len; ++i) {
-        if (i == target) {
-          stringBuilder.append("\n");
-        }
-        stringBuilder.append(titles[i]).append(" ");
-      }
-      return stringBuilder.toString();
-    }
+    return StringUtil.twoLine(title);
   }
 
   /**

+ 42 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/util/StringUtil.java

@@ -316,4 +316,46 @@ public class StringUtil {
     return decimalFormat.format(s);
   }
 
+  /**
+   * 일정 규칙에 따라서 두 줄로 처리된 문자열을 반환한다.
+   *
+   * @param str
+   * @return
+   */
+  public static String twoLine(String str) {
+
+    // 타이틀 줄바꿈이 사라져서 강제로 줄바꿈 해줌
+    if (StringUtil.isEmpty(str)) {
+      return "";
+    }
+
+    // \\n 문자를 줄바꿈 문자로 변경
+    str = str.replaceAll("\\\\n", System.getProperty("line.separator"));
+
+    // 줄바꿈이 있으면 그대로 전달
+    if (str.contains("\n")) {
+      return str;
+    }
+    else {
+      if (str.length() < 13) {
+        return str;
+      }
+      String[] titles = str.split(" ");
+      int len = titles.length;
+      // 줄바꿈 위치 지정 6단어 이상이면 4번째부터, 그 이하는 3번째 단어에서 줄바꿈 해줌
+      int target = len > 5 ? 3 : 2;
+      // 줄바꿈 할 위치보다 단어가 적으면 하지 않음
+      if (target >= len) {
+        target = -1;
+      }
+      StringBuilder stringBuilder = new StringBuilder();
+      for (int i = 0; i < len; ++i) {
+        if (i == target) {
+          stringBuilder.append("\n");
+        }
+        stringBuilder.append(titles[i]).append(" ");
+      }
+      return stringBuilder.toString();
+    }
+  }
 }