0

Ich habe eine AlertDialog mit DialogBuilder erstellt und ich den Inhalt einer axml-Datei als seine Ansicht aufblasen. Ich habe ein zweistufiges System von verschachtelten LinearLayouts mit der äußeren vertikalen Positionierung zwei andere mit Inhalt. Einer dieser Inhalte enthält einen TextView und einen etwas geschrumpften TimePicker. Hier ist der relevante Teil des entsprechenden axml:Xamarin C#: Zentrum AXML Elemente vertikal innerhalb horizontal LinearLayout

<LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 
     <TextView 
      android:text="Start" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/textView2" 
      android:gravity="center_vertical"/> 
     <TimePicker 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:scaleX="0.80" 
      android:scaleY="0.80" 
      android:timePickerMode="spinner" 
      android:id="@+id/endPicker" /> 
    </LinearLayout> 

Und das ist, wie es aus wie auf meinem Smartphone aussieht (AM/PM ist in meiner Muttersprache):

enter image description here

Der Text START bezieht sich zu Beginn einer Zeit und ich will es senkrecht zur Mitte der Zeitauswahl so etwas wie dies (der oc eines manuell geändert pic ist) auszurichten:

enter image description here

Aus irgendeinem Grund kann ich das aber nicht tun, egal wie ich meine Texte auslege. Ich habe bereits eine TableView ähnlich der vorgeschlagenen HERE versucht, aber es hat nicht geholfen. Ich habe auch versucht, mit den Rändern der beiden Elemente zu spielen, aber das Ereignis, wenn der Picker so "gepolstert" wurde, dass er nicht sichtbar war, blieb der Text an seiner Position, obwohl er auf center_vertical gesetzt war. Ich nehme an, ein verstecktes Element, das zur TimePicker gehört, ist hier Schuld zu sein, aber ich kann nicht herausfinden, was und wie. Was ist das, was ich hier nicht bekomme?

Antwort

1

Versuchen Sie, das Gravitationsfeld in der Textview von "center_vertical" nur "center"

bearbeiten zu ändern: Hinzufügen von Code

<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 
    <TextView 
     android:text="Large Text" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:id="@+id/textView1" 
     android:gravity="center" /> 
    <TimePicker 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:id="@+id/timePicker1" /> 
</LinearLayout> 
+0

Leider hat dies genau das gleiche Ergebnis. Selbst wenn ich dem Picker einen linken Abstand von 50-60 gebe und der Text scheinbar (?) Viel Platz hat, wird er ihn nicht belegen. – rTECH

+0

Ich habe auch vergessen zu betonen, dass ich die Eigenschaften layout_width und layout_height geändert habe. Hast du die auch geändert? Ich denke, das wichtigste ist die Layouthöhe der Textansicht, die mit der übergeordneten übereinstimmen sollte. –

+1

Danke! Ich habe es vermisst, es hat den Trick gemacht! – rTECH

Verwandte Themen