nameTextview.setAllCaps(true);
,我们可以将所有文本设置为大写字母,
如何设置小写字母?
public class MainActivity extends AppCompatActivity {
private TextView nameTextview;
private Button button1;
private Button button2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1=findViewById(R.id.capsonID);
button2=findViewById(R.id.capsoffID);
nameTextview = findViewById(R.id.textview1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
nameTextview.setAllCaps(true);
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
nameTextview. // ???????????? What should I do here ?
}
});
}
}
答案 0 :(得分:0)
尝试这种方式..无论您要设置textview的字符串是什么。 String类提供上下字母的方法。
tv.setText(strings.toLowerCase());
答案 1 :(得分:0)
您可以在此TextView中使用getText()方法,并将文本保存到String对象中。您可以使用toLowerCase()方法将字符串转换为所有小写字母,然后使用setText()方法将修改后的String设置为该TextView 记住将setAllCaps()设置为false
答案 2 :(得分:0)
如其他答案中所述,您可以使用它更改为小写字母:
nameTextview.setText.nameTextview.getText().toString().toLowerCase());
但是,如果您正在寻找类似setAllCaps
的功能,即在不修改原始文本的情况下将文本更改为小写,则应该使用转换方法。
实际上,setAllCaps(true)
,将字符串更改为大写:
'Hello, This Is a Test' => 'HELLO, THIS IS A TEST'
但是,如果设置setAllCaps(false),则文本更改如下
'HELLO, THIS IS A TEST' => 'Hello, This Is a Test'
输入后将恢复原始文本。
要完成此操作以小写字母,您应该创建这样的类:
public class AllLowTransformationMethod implements TransformationMethod {
private Locale mLocale;
public AllLowTransformationMethod(Context context) {
this.mLocale = context.getResources().getConfiguration().locale;
}
public CharSequence getTransformation(CharSequence source, View view) {
return source != null ? source.toString().toLowerCase(this.mLocale) : null;
}
public void onFocusChanged(View view, CharSequence sourceText, boolean focused, int direction, Rect previouslyFocusedRect) {
}
}
然后,您可以使用此:
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
nameTextview.setTransformation(new AllLowTransformationMethod);
}
});
要恢复原始文本:
nameTextview.setTransformation(null);
答案 3 :(得分:0)
button1.setOnClickListener {
tvId.setText(tvId.text.toString().toUpperCase())
}
button2.setOnClickListener {
tvId.setText(tvId.text.toString().toLowerCase())
}