我有一个按钮,带有ID按钮1。 当您单击该按钮时,它会打开另一个活动,您可以在其中输入文本,再次按下后退按钮时,它会保存文本并显示在按钮上。但我只想在按钮上显示前10个左右的字符。这可能吗?
以下是一些代码:
Button item1 = (Button)findViewById(R.id.button1);
item1.setText(PrefConnector.readString(this, PrefConnector.ONE, null));
字符串PrefConnector.readString(this, PrefConnector.ONE, null)
的连接很长,关于一个段落。所以我只希望前10个字符出现在按钮上,如果可能的话,最后一个椭圆表示有更多的文字。
由于
答案 0 :(得分:3)
要修改字符串本身,请使用substring()
:
String ellipsed = PrefConnector.readString(this, PrefConnector.ONE, null);
if(ellipsed.length() > 10)
ellipsed = ellipsed.substring(0, 10) + "...";
item1.setText(ellipsed);
或者,您还应该能够在Button的XML中定义最大宽度,并允许它在必要时使用省略号:
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxWidth="50dp" />