如何使用字符串作为按钮,但只使用前10个字符

时间:2012-11-26 22:20:33

标签: android android-layout

我有一个按钮,带有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个字符出现在按钮上,如果可能的话,最后一个椭圆表示有更多的文字。

由于

1 个答案:

答案 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" />