2013-03-03 2 views
4

View의 상단을 다른 하단의 View의 바닥에 어떻게 정렬시킬 수 있습니까? 나는 두 개의 관점을 하나씩 필요로한다. android:layout_below="id_of_the_top_view"을 사용하여 올바른 수직 위치를 얻었으나 수평으로 View을 정렬 할 수는 없습니다. 나는 android:layout_alignTopToBottomOf="id_of_the_top_view" 또는 일반적으로 View 센터 (가로 또는 세로)를 다른 View 센터에 정렬시킬 수있는 무언가를 원합니다. enter image description hereView의 상단을 RelativeLayout의 다른 뷰의 맨 아래에 맞 춥니 다

그리고 내가 무엇을 달성하는 데 필요한 것은 세 가지 TextView들 ("HH", "mm"와 "SS")이 각각 배치되어 있다는 점이다 :

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

<!-- center picker @ minutes --> 
<NumberPicker 
    android:id="@+id/npicker_minutes" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerInParent="true" 
    android:layout_marginLeft="20dp" 
    android:layout_marginRight="20dp" /> 

<!-- left picker @ hours --> 
<NumberPicker 
    android:id="@+id/npicker_hours" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerVertical="true" 
    android:layout_toLeftOf="@id/npicker_minutes" /> 

<!-- right picker @ seconds --> 
<NumberPicker 
    android:id="@+id/npicker_seconds" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerVertical="true" 
    android:layout_toRightOf="@id/npicker_minutes" /> 

<TextView 
    android:id="@+id/tv_minutes" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_below="@id/npicker_minutes" 
    android:layout_marginTop="20dp" 
    android:paddingBottom="15dp" 
    android:text="@string/minutes_short" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/npicker_hours" 
    android:layout_toLeftOf="@id/tv_minutes" 
    android:layout_marginTop="20dp" 
    android:paddingBottom="15dp" 
    android:text="@string/hours_short" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/npicker_seconds" 
    android:layout_toRightOf="@id/tv_minutes" 
    android:layout_marginTop="20dp" 
    android:paddingBottom="15dp" 
    android:text="@string/seconds_short" /> 

</RelativeLayout> 

는 내가 가지고하는 것은 이것이다 하나는 숫자 선택기 중 하나의 아래에 있으며 TextView의 가로 가운데는 NumberPicker의 가로 가운데에 맞 춥니 다.

+0

xml을 게시하고 원하는 것을 사용하여 정교하게 작성하십시오. –

+0

죄송합니다. 가능한 한 많은 정보를 제공하여 제 질문을 수정했습니다. 고맙습니다. – whatyouhide

답변

10

당신은 당신의 TextViews이 줄을 추가 할 필요가 :

android:layout_alignLeft="@id/npicker_minutes" 
android:layout_alignRight="@id/npicker_minutes" 
android:gravity="center_horizontal" 
코드의

전체 샘플 :

<!-- center picker @ minutes --> 

<NumberPicker 
    android:id="@+id/npicker_minutes" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerInParent="true" 
    android:layout_marginLeft="20dp" 
    android:layout_marginRight="20dp" /> 

<!-- left picker @ hours --> 

<NumberPicker 
    android:id="@+id/npicker_hours" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerVertical="true" 
    android:layout_toLeftOf="@id/npicker_minutes" /> 

<!-- right picker @ seconds --> 

<NumberPicker 
    android:id="@+id/npicker_seconds" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerVertical="true" 
    android:layout_toRightOf="@id/npicker_minutes" /> 

<TextView 
    android:id="@+id/tv_minutes" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@id/npicker_minutes" 
    android:layout_alignRight="@id/npicker_minutes" 
    android:gravity="center_horizontal" 
    android:layout_below="@id/npicker_minutes" 
    android:layout_marginTop="20dp" 
    android:paddingBottom="15dp" 
    android:text="@string/minutes_short" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/npicker_hours" 
    android:layout_alignRight="@+id/npicker_hours" 
    android:gravity="center_horizontal" 
    android:layout_below="@id/npicker_hours" 
    android:layout_marginTop="20dp" 
    android:paddingBottom="15dp" 
    android:text="@string/hours_short" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@id/npicker_seconds" 
    android:layout_alignRight="@id/npicker_seconds" 
    android:gravity="center_horizontal" 
    android:layout_below="@id/npicker_seconds" 
    android:layout_marginTop="20dp" 
    android:paddingBottom="15dp" 
    android:text="@string/seconds_short" /> 

또 다른 방법은 하나의 NumberPicker가있는 트리 LinearLayouts를 사용하는 것입니다. 그리고 하나의 TextView 내부.

+0

완벽 하군, 정확히 내가 찾고 있던 것이었다. – whatyouhide

0

당신은 첫 번째와 세 번째 텍스트보기 정렬하기 위해 다음과 같은 속성을 사용할 수 있습니다 :

 android:layout_alignLeft="@+id/your_first_number_picker" //your first text view 

android:layout_alignRight="@+id/your_third_number_picker" //your third text view 
+0

이 방법을 시도했지만'TextView'의 가로 가운데가 숫자 선택 도구의 가로 가운데와 정렬되지 않았습니다. 숫자 피커의 오른쪽과 왼쪽에 정렬됩니다. 나는 패딩과 마진을 사용할 수 있다는 것을 알고 있지만 최대한 이식성을 유지하고 싶습니다. – whatyouhide

관련 문제