2014-03-27 4 views
0

왼쪽과 오른쪽에 텍스트를 놓으려고하는데 아래와 같이 미러링 위치가 있습니다.텍스트 위치를 미러하는 방법은 무엇입니까?

enter image description here

은 여기에서 일어나고있는 것은 오른쪽 위의 더 두 행을 밀어 때문에 오른쪽 열 ("좀 더 텍스트")의 마지막 행이 넓은 것입니다. 대칭을 위해 왼쪽 열이 왼쪽으로 더 밀려납니다. 텍스트 값은 동적이어야합니다. 누구든지 레이아웃을 어떻게 설계해야하는지 알고 있습니까?

여기 내 코드입니다 (! 슬프게도, 심지어는 오른쪽으로 정렬되지 않음) :

<LinearLayout 
    android:layout_height="0dp" 
    android:layout_width="match_parent" 
    android:layout_weight="1"> 
    <RelativeLayout android:layout_height="match_parent" 
     android:layout_width="0dp" 
     android:layout_weight="1"> 
     <RelativeLayout android:id="@+id/description_30" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true">   
      <TextView android:id="@+id/title_30" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="30 DAYS"/> 
      <TextView android:id="@+id/num_ds_30" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_below="@id/title_30"/> 
      <TextView android:id="@+id/num_bs_30" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content"    
       android:layout_below="@id/num_ds_30"/> 
     </RelativeLayout> 
    </RelativeLayout> 

    <RelativeLayout android:id="@+id/description_today" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:layout_toRightOf="@id/description_30"> 
     <TextView android:id="@+id/title_today" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="right" 
      android:text="TODAY"/> 
     <TextView android:id="@+id/num_ds_today" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="right" 
      android:layout_below="@id/title_today"/> 
     <TextView android:id="@+id/num_bs_today" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="right"   
      android:layout_below="@id/num_ds_today"/> 
     </RelativeLayout> 
</LinearLayout> 
+0

귀하의 XML 코드 –

+0

@TomerMor을 입력하십시오. 나는 지금 그것을했다. – Kar

답변

0

당신은 LinearLayout의 중첩에 의해 그런 일을 달성 할 수있다. 외부 LinearLayoutorientation=horizontal이고, 내부는 vertical 인 두 개의 내부 LinearLayout이며 각각은 layout_weight=1이고 두 번째 (오른쪽) LinearLayoutgravity="right"입니다.

코드는 다음과 같습니다.

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="horizontal"> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" 
      android:layout_weight="1"> 

      <TextView 
        ... /> 

     </LinearLayout> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" 
      android:layout_weight="1"> 

      <LinearLayout 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:orientation="vertical" 
       android:gravity="right"> 

       <TextView 
         ... /> 

      </LinearLayout> 

     </LinearLayout> 

    </LinearLayout> 
+0

'LinearLayout' 레벨의'gravity = right' 옵션은 오른쪽 여백을 남기지 않습니다. 즉, 3 개의 TextView를 모두 LinearLayout의 가장 오른쪽으로 가져옵니다. – Kar

+0

@Kate 가장 바깥 쪽의 'LinearLayout'에서 여백을 설정할 수 있습니다. 따라서'layout_marginRight = ".."및'layout_marginLeft = "..."'와 함께 두 어린이 레이아웃 모두 대칭입니다. – Daniel

+0

물론입니다. 그러나 텍스트 값은 동적이므로 여백 크기는 가장 넓은 TextView에 따라 다릅니다. 예를 들어, 'Some more text'가 'More text'일 경우 여백이 넓어 져서 중심에 가까워집니다. – Kar

0

저는 RelativeLayout을 사용하고 TextViews를 왼쪽/오른쪽으로 정렬하는 것이 좋은 방법이라고 생각합니다. 이와 같이 :

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

    <TextView 
     android:id="@+id/Text1_Left" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" /> 

    <TextView 
     android:id="@+id/Text2_Left" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@id/Text1_Left" /> 

    <TextView 
     android:id="@+id/Text3_Left" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@id/Text2_Left" /> 

    <TextView 
     android:id="@+id/Text1_Right" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_toRightOf="@id/Text1_Left" 
     android:gravity="right" /> 

    <TextView 
     android:id="@+id/Text2_Right" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_below="@id/Text1_Right" 
     android:layout_toRightOf="@id/Text2_Left" 
     android:gravity="right" /> 

    <TextView 
     android:id="@+id/Text3_Right" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_below="@id/Text2_Right" 
     android:layout_toRightOf="@id/Text1_Left" 
     android:gravity="right" /> 

</RelativeLayout> 
관련 문제