如何从中心向左移动20dip边距?

Arc*_*ana 12 layout android

我想从中心向左移动一个搜索栏20dip边距.

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" /> 
Run Code Online (Sandbox Code Playgroud)

但上面的xml代码只显示它的中心.

Kop*_*ger 14

我在中间没有内容(并且不可见)的TextView做了一个解决方法.

<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" />
Run Code Online (Sandbox Code Playgroud)

你显然必须用你想要的任何东西取代tvAtLeft.如果你想在中心右侧拥有一些东西,那么原则相同.


lui*_*fls 9

android:layout_centerHorizontal并且android:layout_marginLeft不要一起工作.

解决方法是使用不可见的视图,例如Space:

Space是一个轻量级的View子类,可用于在通用布局中创建组件之间的间隙.


那么,对于你的情况,在你的内部RelativeLayout,这应该做:

<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" />
Run Code Online (Sandbox Code Playgroud)


Ras*_*i.B -4

消除centerHorizontal = true