nameTextview.setAllCaps (true);
par ceci nous pouvons mettre tout le texte en majuscule,
Comment puis-je définir des minuscules?
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 ? } }); } }
4 Réponses :
Essayez de cette façon .. quelle que soit votre chaîne à vouloir définir la vue de texte. la classe String fournit une méthode pour les lettres minuscules et majuscules.
tv.setText(strings.toLowerCase());
Vous pouvez utiliser la méthode getText () dans ce TextView et enregistrer le texte dans un objet String. Et vous pouvez utiliser la méthode toLowerCase () pour convertir la chaîne en minuscules, puis utiliser la méthode setText () pour définir la chaîne modifiée sur ce TextView N'oubliez pas de définir setAllCaps () sur false
Comme mentionné dans d'autres réponses, vous pouvez utiliser ceci pour changer en minuscules:
nameTextview.setTransformation(null);
Cependant, si vous cherchez quelque chose comme setAllCaps
, c'est , changez le texte en minuscules sans modifier le texte original, alors, vous devriez utiliser une méthode de transformation.
En effet, setAllCaps (true)
, changez la chaîne en majuscules: p >
button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { nameTextview.setTransformation(new AllLowTransformationMethod); } });
Mais si vous définissez setAllCaps (false), le texte change comme ceci
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) { } }
Le texte d'origine est récupéré tel qu'il a été saisi.
Pour accomplir cela en minuscules, vous devez créer une classe comme celle-ci:
'HELLO, THIS IS A TEST' => 'Hello, This Is a Test'
Ensuite, vous pouvez utiliser ceci:
'Hello, This Is a Test' => 'HELLO, THIS IS A TEST'
Pour récupérer le texte d'origine:
nameTextview.setText.nameTextview.getText().toString().toLowerCase());
button1.setOnClickListener { tvId.setText(tvId.text.toString().toUpperCase()) } button2.setOnClickListener { tvId.setText(tvId.text.toString().toLowerCase()) }
Convertissez votre chaîne de texte en minuscules, puis définissez-la sur votre
TextView
à la place.ajouter un écouteur ontextchanged, où vous changez le texte en minuscules