Ich bin auf ein Problem stecken und ich weiß nicht, was es verursacht. Ich habe ein sehr einfaches Layout wie folgt aus:TextView setGravity() funktioniert nicht in Java
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/my_text_view"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="NOTE_THIS"
android:textColor="#FFFFFF"
android:textSize="22dp"
android:text="TestText"/>
</LinearLayout>
, die in einem anderen Layout enthalten ist. Wenn ich die Schwerkraft innerhalb des Xml ändere, sehe ich dasselbe Ergebnis im Layout-Editor und auf meinem Handy. Wenn ich die Gravitation programmatisch wie mit myTextView.setGravity(Gravity.CENTER)
anwenden möchte, ändert sich nichts. Und ich kann nicht LayoutGravity in Java auf einem TextView
Ich werde für Debug-Zwecke ausprobiert, um sie dreimal jeweils mit einer anderen Schwerkraft einzuschließen, die sogar funktioniert. Ich gehe also davon aus, dass mit meinem Layout alles in Ordnung ist und dass es einen Bug oder etwas anderes geben muss, das ich vermisse. Kann mir jemand einen Hinweis geben, was ich auch versuchen kann, oder was verursacht dieses Problem?
Wie bekomme ich die intrinsicWidth der TextView nachdem ich sie "fill_parent" angegeben habe, weil getWidth mir die Breite der Eltern gibt LienearLayout –
warum brauchst du das? nur zum Einstellen der Schwerkraft? – waqaslam
weil es nicht nur die Schwerkraft setzt, sondern den Text rezitiert, was funktioniert, wenn ich die richtige Breite davon bekomme –