Ich weiß, dass diese Frage viele Male auf SO gestellt wurde. Ich habe die meisten von ihnen gelesen, aber sie funktionieren nicht für mich, also nicht die Mühe, Duplikate zu markieren.Wie zentriert man Text in einem TextView mit Java-Code?
Hier ist mein Code, und dem, was ich bisher versucht:
RelativeLayout container = new RelativeLayout(this.getContext());
TextView tv = new TextView(this.getContext());
tv.setText(txt); // a single digit like '3'
tv.setLines(1);
tv.layout(0, offsety, cellszie, offsety+cellsize);
tv.setTextAlignment(TextView.TEXT_ALIGNMENT_CENTER);
tv.setGravity(Gravity.CENTER);
// I also tried CENTER_VERTIAL and the following line
// tv.setGravity(CENTER_VERTIAL| CENTER_HORIZONTAL);
// I also tried giving LayoutParams to tv like this:
// tv.setLayoutParams(new LayoutParams(cellsize, cellsize));
// tv.setLayoutParams(new LayoutParams(WRAP_CONTENT, WRAP_CONTENT));
// tv.setLayoutParams(new LayoutParams(MATCH_PARENT, MATCH_PARENT));
container.addView(tv);
Der Charakter horizontal zentriert ist, aber es schwimmt auf dem oberen Rand des Textview in vertikaler Richtung. Einstellung gravity
und LayoutParams
ändert sein Verhalten nicht.
Was muss ich tun, damit es vertikal zentriert wird?
versuchen Sie es http://code2care.org/pages/center-align-textview-android-horizontontal-or- vertically/ –
Haben Sie versucht, seine Breite und Höhe als wrap_content zu machen? –
Layout-Parameter einstellen und die Höhe so einstellen, dass sie dem Elternteil entspricht. Dann funktioniert center_vertical –