Ich bitte hier um Nachsicht, ich beginne gerade mit den Android SDK-Tutorials und versuche etwas aus Interesse, das nicht im Tutorial selbst enthalten ist, aber ich würde hoffen, dass es einfach ist.
Ich versuche, ein TextView
Element über Code horizontal und vertikal zu zentrieren (ich kann es in XML ganz gut tun). Ich habe mehrere Beispiele dafür gesehen, wenn das übergeordnete Element ein Tisch oder ein anderes Objekt ist, aber ich hoffe, dass dies für mich leichter zu verstehen ist. (ps Fühlen Sie sich frei, meine Terminologie zu korrigieren).
Hier ist der Beispielcode aus dem Tutorial / meinem Arbeitsmodell:
package com.example.myfirstapp;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.ViewGroup.LayoutParams;
import android.widget.TextView;
public class DisplayMessageActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
textView.setGravity(View.TEXT_ALIGNMENT_GRAVITY);
setContentView(textView);
}
}
Ich habe es geschafft, die setGravity
Methode zu finden, und ich habe versucht, mich daran zu versuchen setLayoutParams
, aber ich bin mir nicht sicher, welchen Umfang sie hat, da ich nicht finden kann, was ich importieren soll, um die WRAP_CONTENT
Konstante aufzulösen . Nach meinem Verständnis sind Zentrierung und Inhaltsverpackung + Schwerkraft zwei getrennte Dinge. Ich hätte gerne ein Beispiel, wie man beides in diesem Fall macht und wie / wo ich die Antwort in der API-Dokumentation gefunden hätte.
Antworten:
quelle
android:textAlignment="gravity"
Attribut auf Schwerkraft eingestellt ist. Andernfalls wird textAlignment überschrieben.yourTextView.setTextAlignment(View.TEXT_ALIGNMENT_GRAVITY);
Zum dynamischen Zentrieren
quelle
und
und
und
und
und
und
Und mehr auch verfügbar
quelle
das wird sicher funktionieren ..
quelle
Fügen Sie den folgenden Code hinzu, um die Layoutparameter auf die Textansicht anzuwenden
quelle
Wenn Ihre Textgröße klein ist, sollten Sie die Breite Ihrer Textansicht auf "fill_parent" einstellen. Danach können Sie Ihre TextView-Schwerkraft auf Mitte einstellen:
quelle
Sie können Folgendes verwenden, um
TextView
Text in Kotlin programmgesteuert zu zentrieren:quelle
Versuchen Sie diese Methode
quelle
Diese beiden müssen zusammenpassen, damit es funktioniert. Ich kratzte mir schon eine Weile am Kopf.
quelle