TextView에 관련해서 setJustificationMode뿐 아니라 setBreakStrategy나 setHyphenationFrequency 등이 있지만 원하시는 동작을 수행하는 옵션이 아직은 없어 보입니다. 도대체 왜 없는지 모르겠어요.
TextView를 건드리지 않고 String을 변경해서 처리하는 방법이 있는데요. 말씀하신대로 / - 를 break되지 않는 비슷한 다른 문자로 바꿔줄수도 있고, 아니면 TextView의 넓이에 따라 적절한 위치에 zero-width space를 넣어서 끊어주는 방법이 있는데요.
만약 해당 TextView가 다른 Text 없이 URL 정도의 짧은 텍스트만 담는 다면 그냥 모든 위치에 zero-width space를 넣어버려도 원하는 결과를 얻을수 있을것 같습니다. 아래는 급조한 메서드인데 원하는 결과 나오는지 확인해보세요.
public static String makeBreakableTextUsingZeroWidthSpace(String s) {
StringBuilder sb = new StringBuilder();
for(int i = 0; i < s.length(); i++) {
sb.append(s.charAt(i));
sb.append("\u200B");
}
if(sb.length() > 0) {
sb.deleteCharAt(sb.length() - 1);
}
return sb.toString();
}