Wie gehe ich 20dip Margin links von der Mitte?

Ich möchte eine seekbar 20dip Margin links von der Mitte verschieben.

android:progressDrawable="@drawable/progress_vertical" android:thumb="@drawable/seek_thumb" android:layout_height="80dip" android:layout_width="20dip" android:layout_marginBottom="50dip" android:layout_alignParentBottom="true" android:visibility="gone" android:layout_centerHorizontal="true" android:layout_marginLeft="20dip" /> 

Aber der obige XML-Code zeigt es nur Mitte.

  • Wann macht androide zuerst Layout?
  • Position Video in einem VideoView
  • Spinner zu ActionBar hinzufügen (nicht Navigation
  • AddOnLayoutChangeListener vs addOnGlobalLayoutListener vs post (Runnable r)
  • Wie programmgesteuert man ein Layout-Verhalten meiner NestedScrollView zu entfernen?
  • Wie man die benutzerdefinierte Ansicht im ADT Graphical Layout Editor debuggt
  • Passen Sie eine ImageView (und ihre src) auf die Layout-Breite und machen ihre Höhe proportional
  • Mitte zwei Tasten horizontal
  • 4 Solutions collect form web for “Wie gehe ich 20dip Margin links von der Mitte?”

    Ich habe einen Workaround mit einem TextView in der Mitte gemacht, der keinen Inhalt hat (und ist nicht sichtbar).

     <TextView android:id="@+id/viewMiddleInvisible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/btnAtTheTop" android:layout_centerHorizontal="true" android:layout_marginTop="30dp" /> <TextView android:id="@+id/tvAtLeft" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@id/viewMiddleInvisible" android:layout_marginRight="10dp" android:layout_toLeftOf="@id/viewMiddleInvisible" android:text="Some text" /> 

    Sie müssten offensichtlich tvAtLeft ersetzen, was auch immer Sie wollen. Gleiches Prinzip, wenn du etwas rechts vom Zentrum haben willst.

    android:layout_centerHorizontal und android:layout_marginLeft arbeiten nicht zusammen.

    Ein Workaround ist eine unsichtbare Ansicht wie Space :

    Space ist eine leichte View-Unterklasse, die verwendet werden kann, um Lücken zwischen Komponenten in Allzweck-Layouts zu erstellen.


    Also, für Ihren Fall, in Ihrem RelativeLayout , sollte dies tun:

     <Space android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:id="@+id/blankspace" /> <ProgressBar android:progressDrawable="@drawable/progress_vertical" android:thumb="@drawable/seek_thumb" android:layout_height="80dip" android:layout_width="20dip" android:layout_marginBottom="50dip" android:layout_alignParentBottom="true" android:layout_toRightOf="@id/blankspace" android:visibility="gone" /> 

    Antworten:

    Füge eine 40dp Polsterung auf der rechten Seite hinzu.

    Warum das funktioniert:

    Weil diese Polsterung zu deiner Ansicht gehört , und deshalb zählt sie zu ihrer endgültigen Größe. Für alle Android-Sorgen, wird Ihre gepolsterte Ansicht 40dp breiter als wenn nicht gepolstert, und der Inhalt Ihrer Ansicht wird sich nicht ändern.

    Außerdem, da du dich zentrierst, Für jedes 2dp steckst du in android:paddingRight , deine Ansicht wird 1dp nach links verschieben und damit dein View 20dp verschieben

    Entfernen centerHorizontal = true .

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.