1

TextViews에 문제가있어 텍스트 영역 내에 텍스트를 가운데에 배치했습니다. 특히 TextView가 있지만 내부에 아래쪽 여백 (예 : p, g, q, y 등)에 걸쳐있는 문자가 포함되어 있으면 문자가 잘릴 수 있습니다. 나는 그 지역의 텍스트를 중심에 두려고 노력하고 있지만 운이별로 없다.지역 내 TextView의 텍스트 가운데 맞추기에 문제가 있음

[업데이트] 이제 wrap_content를 높이로 사용하여 맨 아래에 잘리는 글자를 해결했지만 다른 문제가 발견되었습니다. 이제 텍스트가이 지역의 낮은 곳에 위치하여이 틈을 맨 위에 표시합니다. 최근 레이아웃을 반영하도록 레이아웃을 수정했습니다 (아래 참조). 기본적으로 (g, y, j 등) 전에 잘린 문자는 바로 아래 영역을 터치하고 있지만 상단에 패딩이 남는 것처럼 보입니다. 내가 center_vertical 또는 중앙에 중력을 변경하지만, 많은 행운이없는 시도 :

참고, 나는 textSizes 주어진 사양과 함께 일해야

(즉, 나는이에 대한 값을 변경할 수 없습니다)

<LinearLayout 
    android:id="@+id/header" 
    android:layout_width="fill_parent" 
    android:layout_height="43.3dip" 
    android:background="@drawable/custom_bg" 
    android:orientation="horizontal"> 
    <ImageButton 
     android:id="@+id/headshot" 
     android:layout_width="43.3dip" 
     android:layout_height="43.3dip" 
     android:src="@drawable/sample" 
     android:background="@drawable/head_btn" 
     android:layout_gravity="center" /> 
    <RelativeLayout 
     android:id="@+id/name_and_email" 
     android:layout_width="230.7dip" 
     android:layout_height="43.3dip" 
     android:orientation="vertical"> 


    <TextView 
     android:id="@+id/name" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:textColor="@color/custom_color" 
     android:textSize="18.6sp" 
     android:singleLine="true" 
     android:ellipsize="end" 
     android:layout_alignParentTop="true" 
     android:gravity="center_vertical" 
     android:background="#c5ff15" 
     android:lineSpacingExtra="0sp" 
     android:text="AaBbCcDdGgJjTtYy" /> 
    <TextView 
     android:id="@+id/email" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:textColor="@color/custom_color" 
     android:textSize="13.3sp" 
     android:singleLine="true" 
     android:ellipsize="end" 
     android:layout_centerInParent="true" 
     android:layout_below="@id/name" 
     android:gravity="center_vertical" 
     android:visibility="gone" 
     android:text="[email protected]" /> 


    </RelativeLayout> 
    <ImageButton 
     android:id="@+id/headshot2" 
     android:layout_width="43.3dip" 
     android:layout_height="43.3dip" 
     android:src="@drawable/sample" 
     android:background="@drawable/head_btn2" 
     android:layout_gravity="center" /> 
</LinearLayout> 

누군가가 도와 드릴까요 ?

답변

1

왜 수동으로 높이를 설정하려고합니까? layout_height = "wrap_content"를 사용하면 훨씬 더 나은 행운을 누릴 수 있습니다. 문제는 14.3sp의 텍스트 크기가 허용하는 영역에 비해 너무 크다는 것입니다.

또한 복잡한 레이아웃을 디버깅하는 데 유용한 리소스는 도구 폴더 아래에있는 HeirarchyViewer입니다.

+0

답변 해 주셔서 감사합니다. 사실 이제 그것을 wrap_content로 옮겼습니다. 그리고 그것은 제가 가지고있는 텍스트 디 센더 문제를 해결했습니다. 하지만 이제는 또 다른 문제가 있습니다. 텍스트 자체가 맨 아래로 밀려 내려가이 "갭"을 남기거나 내 지역 맨 위에 패딩하는 것처럼 보입니다. center_vertical을 사용하여 센터에 배치하려고했지만 작동하지 않습니다. 위의 두 TextViews의 레이아웃을 수정하여 높이가 wrap_content이고 android : gravity가 "center_vertical"이지만 여전히 몇 가지 문제가 있습니다 (g 및 p가 이제 적합하지만 상단에 간격이 있음) – mbethdev

+0

업데이트 된 XML로 원래 질문을 편집 할 수 있어야합니다. 정확히 당신이 지금 무엇을 가지고 있는지 말하기는 어렵지만, 나는 여분의 공간을 누가 정확하게 책임지고 있는지보기 위해 계층 뷰어를 사용하려고 노력할 것입니다. 그런 다음 해당 요소에 대해 패딩 등을 조정할 수 있어야합니다. –

+0

좋아, 내가 좀 간단하게 레이아웃을 수정 (그래서 당신이 기회를 Eclipse에서 레이아웃을로드했을 경우, 당신은 단지 가기 텍스트보기를 참조해야합니다). 내가 아는 한 텍스트 영역 내에서 패딩이 발생하고 TextView 내부에서 제어 할 수 있어야하지만 중력이 작용하지 않는 것 같습니다. 다른 속성이 누락되어 있어야하지만 무엇인지 모릅니다 :( – mbethdev

관련 문제