1
votes

Existe-t-il un moyen de styliser un TextView en minuscules toutes ses lettres?

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 ?
        }
    });
}
}


2 commentaires

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


4 Réponses :


0
votes

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());


0 commentaires

0
votes

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


0 commentaires

0
votes

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());


0 commentaires

0
votes
   button1.setOnClickListener {
   tvId.setText(tvId.text.toString().toUpperCase())
   }
   button2.setOnClickListener {
   tvId.setText(tvId.text.toString().toLowerCase())
   }

0 commentaires