2011-08-24 3 views
1

TextView dependent을 RelativeLayout 내의 다른 TextView anchor 위에 놓으려고했으나 dependent을 표시하도록 관리 할 수 ​​없습니다.RelativeLayout : 여백이 포함 된 경우 참조 된 뷰 위에 뷰를 할당 할 수 없습니다.

상황 :
anchor는 부모의 상단에 정렬됩니다 + 일부 marginTop 부모 (RelativeLayout의)의 중심에 더 많은 그것을 만들하고 dependentanchor의 이상으로 정렬됩니다 .

이것은 작동하지 않습니다. 내가 그것을 anchor보다 위에 할당했을 때 안드로이드는 anchor의 상단이 부모의 상단이라고 가정하고 화면 (위에)을 dependent 그립니다.

내가 그렇게 RelativeLayout의의 상단과 anchor 사이의 영역이 anchor 자체의 일부가 될 수 없습니다해야 마진 대신 패딩의 사용하기 때문에이 경우 안 (I 계층 구조와 크기를 확인 뷰어). 아니면 잘못 됐을 까? : S

이 간단한 레이아웃 코드 : 원하는

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 

    <TextView android:id="@+id/anchor" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_marginTop="100px" 
     android:text="Anchor point." 
     /> 
    <TextView android:id="@+id/dependent" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_above="@id/anchor" 
     android:text="Dependent." 
     /> 

</RelativeLayout> 

:

 
------------- 
|   | 
|dependent | 
|anchor  | 
|   | 
------------- 

무슨 일이 있었는지 :

 
dependent (out of screen display) 
------------- 
|   | 
|   | 
|anchor  | 
|   | 
------------- 

희망 :
누군가 나를 도와 줄 수 있습니까? 아니면 실수를했는지 지적하는 데 도움이됩니다. 내 실제 구현에서 RelativeLayout을 사용해야한다.

미리 감사드립니다.

+0

혹시 이것을 알아 냈습니까? 난 같은 문제가 생겼어 –

+0

죄송합니다. 귀하의 의견을 통지하지 못했습니다. 아니, 여기서 무엇이 잘못되었는지 나는 모른다. 결국 저는 앵커의 마진을 대체하기 위해 빈 뷰를 필러로 사용하여 해킹을했습니다. –

+0

그래, 나는 다른보기 하단에서 margining을 끝내었다. –

답변

0

맨 위 모서리 (맨 위 또는 맨 아래 - 중요하지 않음)에 앵커를 만든 다음 그로부터 뷰를 만드는 이유를 묻습니다. 그게 내가하는 일이고 그 아래에있다 : 미안, 나는 사진을 아직 올릴 수 없다. 그들이 당신이 정말로 일을 유지하려는 경우

<?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <TextView android:id="@+id/anchor" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_marginTop="100dp" 
     android:text="Anchor point." 
    /> 
    <TextView android:id="@+id/dependent" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/anchor" 
     android:layout_alignLeft="@id/anchor" 
     android:text="Dependent." 
    /> 

</RelativeLayout> 

또한, 단지 안드로이드에 의존의 정렬을 변경 : layout_alignParentTop는 = "true"로. 게재 위치에 영향을 미치려면 여기에 여백을 둘 수 있습니다. 여기에 코드와 그림이 있습니다.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" > 

<TextView android:id="@+id/anchor" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_marginTop="100dp" 
    android:text="Anchor point." 
    /> 
<TextView android:id="@+id/dependent" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_marginTop="150dp" 
    android:text="Dependent." 
    /> 

</RelativeLayout> 
+0

부모의 위 또는 아래를 앵커로 사용하는 것은 RelativeLayout을 사용하여 원하는 것이 아니다. 우리는 페이스 북과 같은 코멘트를 만들고 있는데, 사용자 이름은 Dependent이고 코멘트는 컨텐츠로, 레이아웃 정렬시에는 내가 가지고있는 모든 단일보기의 여백을 변경하고 싶지 않을 것입니다. 앵커와 나머지 만 따라야합니다. –

+0

Btw layout_below 및 layout_alignLeft를 제외하고 코드와 제 차이점을 확인할 수 없습니다. 그들은 내 것과 같은 결과를 주어야하며 약간 다릅니다. –

+0

위의 코드에서 아무것도 화면에서 사라집니다. 부양 가족과의 문제는 없어지지 않습니다. 나는 당신의 코멘트를 따르지 않는다. "사용자 이름이 Dependent이고 코멘트가 Content 인 페이스 북과 같은 코멘트를하고 있다고 가정 해보십시오. 레이아웃 정렬이있을 때마다 내가 가진 모든 단일보기의 여백을 변경하고 싶지는 않습니다. 앵커와 나머지 만 따라 가야합니다. " – DLD

1

내가 보이지 않는 단추를 정렬 했으므로 -이게 당신이 찾고있는 것입니까? 앵커 버튼의 여백이나 위치 매개 변수를 변경하면 부양 가족의 위치가 변경됩니다.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
<Button android:id="@+id/anchorbutton" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_margin="100dp" 
    android:visibility="invisible" 
/> 

<TextView android:id="@+id/anchor" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/anchorbutton" 
    android:layout_alignLeft="@id/anchorbutton" 
    android:layout_margin="10dp" 
    android:text="Off Anchor button" 
/> 
<TextView android:id="@+id/dependent" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@id/anchorbutton" 
    android:layout_below="@id/anchor" 
    android:layout_margin="50dp" 
    android:text="Dependent." 
관련 문제