TextView 转到 space 中的新行
TextView go to new line in space
我有一个 TextView,其文本由两个词组成,其中第二个是动态的(例如“设备编号:xxxxxxxxxxxx”。我希望如果字符串太长,它将显示为
Number of device:
xxxxxxxxxxxx
现在像
Number of device: xxxxxxx
xxx
<TextView
android:id="@+id/ObuTransitElementObuDeviceCode"
android:layout_marginTop="6dp"
android:layout_marginStart="16dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/empty_text_placeholder"
android:breakStrategy="balanced"
android:textAlignment="textEnd" />
就这样吧:
TextView tv = findViewById(R.id.ObuTransitElementObuDeviceCode);
tv.setText("Number of device:\n"+dynamic_number);
在这种情况下,您需要观察布局变化,因为如果文本设置为两行,则由于高度变化,底部值将发生变化。
仅与 wrap_content 合作
TextView tvDevice = findViewById(R.id.ObuTransitElementObuDeviceCode);
tvDevice.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
@Override
public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
if(bottom != oldBottom){
String s = tvDevice.getText().toString();
if(!s.contains("\n"))tvDevice.setText(s.replace(":",":\n"));
}
}
});
tvDevice.setText("Number of device:\n"+dynamic_number);
我有一个 TextView,其文本由两个词组成,其中第二个是动态的(例如“设备编号:xxxxxxxxxxxx”。我希望如果字符串太长,它将显示为
Number of device:
xxxxxxxxxxxx
现在像
Number of device: xxxxxxx
xxx
<TextView
android:id="@+id/ObuTransitElementObuDeviceCode"
android:layout_marginTop="6dp"
android:layout_marginStart="16dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/empty_text_placeholder"
android:breakStrategy="balanced"
android:textAlignment="textEnd" />
就这样吧:
TextView tv = findViewById(R.id.ObuTransitElementObuDeviceCode);
tv.setText("Number of device:\n"+dynamic_number);
在这种情况下,您需要观察布局变化,因为如果文本设置为两行,则由于高度变化,底部值将发生变化。
仅与 wrap_content 合作
TextView tvDevice = findViewById(R.id.ObuTransitElementObuDeviceCode);
tvDevice.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
@Override
public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
if(bottom != oldBottom){
String s = tvDevice.getText().toString();
if(!s.contains("\n"))tvDevice.setText(s.replace(":",":\n"));
}
}
});
tvDevice.setText("Number of device:\n"+dynamic_number);