1

Ich habe auf meinem Layout einige Verflachung, darunter Stück davon nach. Percent TextView und RadioButton sind an der gleichen Stelle auf der linken Seite und wechseln mit Animationen. Zweite TextView zeigt einige Text erfüllende Breite. Problem ist, dass RadioButton ist kürzer als Prozent TextView, aber ich verwende alignLeft und alignRight für die gleiche Breite, und sogar mit der Schwerkraft auf center eingestellt Radio radio ist linksbündig ausgerichtet. Ich habe this topic gefunden, aber ist ein bisschen alt, vor Material, und derzeit ist diese Klasse komplizierter. Irgendein Rat, wie man dieses Radio in seiner eigenen Breite (oder Breite von Prozent Textview) ohne zu zentrieren! Hinzufügen eines weiteren ViewGroup? (Precent und Radio in einem anderen RelativeLayout sein könnte und stellen centerInParent, wie ich schon versucht, für Abflachung hatte)RadioButton Center Drawable/Layout Glättung

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 
    <TextView 
     android:id="@+id/option_percent" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_centerVertical="true" 
     android:singleLine="true" 
     android:gravity="center" 
     android:ems="3" 
     android:visibility="invisible"/> 
    <RadioButton 
     android:id="@+id/option_radio" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_alignLeft="@id/option_percent" 
     android:layout_alignRight="@id/option_percent" 
     android:gravity="center"/> 
    <TextView 
     android:id="@+id/option_text" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_toRightOf="@id/option_percent"/> 
</RelativeLayout> 
+0

Haben Sie versucht, margin in der Radiobutton mit? – Ricardo

+0

nein, weil es nicht 'RadioButton' zentriert, nur bewegend. Radio Drawables haben unterschiedliche Breite auf verschiedenen Geräten. Für jetzt ist meine einzige Idee programmatisch prozentuale 'TextView' zu messen und richtig berechnet' marginLeft' für 'RadioButton' einzustellen, suchend nach einfacherem Weg, vielleicht nur xml. Wie auch immer, danke für den Vorschlag :) – snachmsm

Antwort

0

OK, habe ich etwas Abhilfe für meinen Fall. Ich akzeptiere diesen Beitrag nicht, weil es keine richtige Antwort ist. Ich zähle immer noch auf einen anderen Weg, eleganter;)

von oben xml Ich habe feste Breite für Prozent festgelegt und entfernt ems, praktisch keinen Unterschied. entfernt auch Ausrichtung nach links und rechts zu Prozent in Radio-Attribute, so dass es eigene Größe in beiden Dimensionen (wrap_content) haben. nächster Schritt ist im Code:

Messradio, Prozent hat jetzt feste Breite, also keine Notwendigkeit zu messen. wird nur einmal berechnet und außerhalb der Methode gehalten, in meinem Fall kann es sogar statisch sein.

zusätzlich: Seien Sie vorsichtig mit Polsterung für Radioeinstellung, wegen Add margin between a RadioButton and its label in Android? (Check meisten upvoted Antwort)