2014-08-30 3 views
0

나는 두 가로로 나란히, 카테고리 + 제품 카테고리의 nummber와 같은 두 TextViews 있습니다. 코드는 다음과 같다 :첫 번째 TextView 두 번째 오버랩됩니다, 안드로이드

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:paddingLeft="15dp" 
    android:paddingBottom ="10dp" 
    android:background="@color/navigation_background_sub"> 


    <TextView 

     android:id="@+id/category_name_second" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="22sp" 
     android:textColor="@color/ebuy_color_navigation_name" /> 

    <TextView 
     android:layout_toRightOf="@+id/category_name_second" 
     android:paddingLeft="7dp" 

     android:id="@+id/category_number_second" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="22sp" 
     android:textColor="@color/ebuy_color_navigation_number" /> 

</RelativeLayout> 

이제 문제는 첫 번째 TextView의 텍스트가 긴로되면, 두 번째로 떠났다 공간이 조금로하고 텍스트를 두 광석 이상의 라인에 표시 할 것입니다. 그것이 얼마나

: (1

   4      
       ) 

노트북 (34)

컴퓨터 소프트웨어 난 그냥 아래와 같이 설명하려고 있도록

나는 사진을 게시 할 평판이 없습니다

어떻게해야합니까 :

랩톱 (34)

컴퓨터 (14)

소프트웨어

+0

두 TextViews에 동일한 ID를 사용하고 있습니다. 그것들을 독특하게 만들면 작동 할 것입니다. – hoomi

+0

그는 동일한 ID를 사용하지 않습니다.이 wouldnt 심지어 가능합니다 – eldjon

+0

'layout_toRightOf' 대신에'layout_toEndOf'을 시도 했습니까? – mbmc

답변

0

사용

layout_toRightOf= "@id/category_name_second" 

사용 가능한 공간이 사이에 고르게 분포 될 것이다 수평 LineraLayoutRelativeLayout를 교체 할 경우 그것은 당신에게

+0

이것은 지금까지 사용해온 것입니다 – Xhulio

+0

패딩을 제거 할 수 있습니까 –

+0

나는 그걸로 아무것도 시도하지 않았습니다. – Xhulio

0

도움이 될 수 있습니다 귀하의 텍스트보기. weight 특성을 추가하여 길이가 한 줄인 각 TextView의 부분을 제어 할 수 있습니다.

+0

네, 그렇 겠지만,'Weighting'과 함께'LinearLayout'을 사용하면, 첫 번째 TextView의 텍스트가 너무 작 으면, 두 TextView 사이의 공간이 너무 많거나 두렵습니다. – Xhulio

+0

wrap_content를 사용하는 경우 – eldjon

0

글쎄, 문제는 가로줄에 충분한 공간이 없기 때문에 텍스트보기에 더 많은 줄이 표시된다는 것입니다.

각 Textview에 필요한 공간을 정의해야합니다. 레이아웃이 그렇게 단순하다면 선형 레이아웃을 선택하여 텍스트 뷰를보다 잘 정렬 할 수 있습니다.

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/LinearLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:paddingBottom="10dp" 
    android:paddingLeft="15dp" 
    android:weightSum="1" > 

    <TextView 
     android:id="@+id/category_name_second" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.7" 
     android:text="Computers" 
     android:textSize="22sp" 
     android:singleLine="true" 
     android:textColor="@color/ebuy_color_navigation_name" /> 

    <TextView 
     android:id="@+id/category_number_second" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.3" 
     android:paddingLeft="7dp" 
     android:text="(24)" 
     android:textSize="22sp" 
     android:singleLine="true" 
     android:textColor="@color/ebuy_color_navigation_number" /> 

</LinearLayout> 

당신은 텍스트 뷰의 디스플레이 이상의 라인을 방지하기 위해도 특성 만일 Singleline를 추가해야합니다. 보시다시피, 무게를 사용하여 수평선의 각 구성 요소에 대한 비례 폭을 설정할 수 있습니다.

0

In TextView In wrap_content를 사용하면 기기에 입력 한 데이터 (텍스트 길이)에 따라 Android 기기의 너비와 높이가 조정됩니다 (높이에 wrap_content를 사용하는 경우). 텍스트가 textview에서 수정되지 않으면 wrap_content를 사용하지 마십시오 (두 번째 줄에 텍스트를 자동으로 쓰지 않으려는 경우에만). 첫 번째 Textview가 절반 이상의 공간을 차지하면 두 번째 textview의 높이가 전체 크기로 조정되어야합니다 이 텍스트 줄은 장치의 크기에 따라 다르므로 영구적 인 해결책은 없습니다. 장치의 화면이 두 줄로 된 textview를 모두 표시하는 데 더 큰 경우에는 두 번째 textview 높이를 높이 지 않으면 표시됩니다.

또한 모든 유형의 화면 크기에 대해 다른 레이아웃을 만들고 그에 따라 텍스트 크기를 설정할 수 있습니다. 여러 화면 크기를 지원하기 위해 check을 사용할 수 있습니다.