web-dev-qa-db-fra.com

Définir par programme Android: layout_centerHorizontal

En XML, vous pouvez effectuer les opérations suivantes:

<TextView
    ...
    Android:layout_centerHorizontal="true"
    ...
/>

Comment pourrais-je, lorsque j'ai l'instance de TextView, procéder par programmation?

43
nhaarman

Vous devez utiliser la méthode addRule de RelativeLayout.LayoutParams classe.

layoutparams.addRule(RelativeLayout.CENTER_HORIZONTAL);
mTextView.setLayoutParams(layoutParams);
97
Ronnie

En supposant que vous ayez un TextView appelé stocké dans une variable tv:

RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) tv.getLayoutParams();
lp.addRule(RelativeLayout.CENTER_HORIZONTAL);
tv.setLayoutParams(lp);

Devrait faire l'affaire.

27
nEx.Software