2014-03-12 39 views
0

我目前正试图解决我的问题,在android应用程序按钮的字符串长度。所以我解析字符串,然后将其设置为按钮文本。但是,如果一个文本大于9个字符或10个字符,它会显示在按钮覆盖之外。我知道我可以缩小文本,但这不是很好的解决方案,因为我已经有了小文本。划分行中的字符串

那么你们建议,例如,如果我有:

String text = "ThisIsSomeRealyLongText"; 

我怎么能在2号线拆分此字符串或当我到达字符数9只使用/ N(打破文字)?

回答

1

使用正则表达式,你可以做到这一点。它会将字符串分解成每行9个字符。

text = text.replaceAll("(.{9})", "$1\n"); 
+0

如果文本已经有一个换行符,这不会考虑到这一点。 –

+0

@RedAlert它不需要打破字符串,如果一行少于9个字符(当换行符在附近)。 –

2

在按钮上使用太多的文本绝不是一个好主意。你应该考虑使用一个图标,或更短的文本(如果需要)更多的解释文本在别的地方。请记住,最好的用户体验将是涉及阅读量最少的那个。

1

使用
(新线):

android:text = "ThisIsSome
RealyLongText" 

但在代码中,你可以使用\n。您可以在../res/values/strings.xml定义:

<string name="longname">ThisIsSome\nRealyLongText</string> 

然后将文本为您按钮

android:text="@string/longname"