Проблемы с центрированием текста в TextView внутри региона - PullRequest
1 голос
/ 06 августа 2010

У меня проблемы с TextViews и центрирование текста в текстовой области.В частности, у меня есть TextView, но когда у меня есть текст внутри, который содержит буквы, расположенные внизу нижнего поля (т. Е. P, g, q, y и т. Д.), Эти буквы обрезаются.Я пытаюсь центрировать текст в пределах области, но мне не очень повезло.

[Обновлено] Теперь я решил, что буквы обрезаются снизу, используя wrap_content в качестве высоты, но нашел другую проблему,Теперь кажется, что текст расположен низко в регионе, оставляя этот пробел в верхней части.Я изменил свой макет, чтобы отразить последние (см. Ниже).По сути, те символы, которые были обрезаны ранее (g, y, j и т. Д.), Касаются области справа внизу, что нормально, но, похоже, оставляет отступ сверху.Я попытался изменить гравитацию на center_vertical или center, но мне не повезло:

Обратите внимание, мне нужно работать со спецификациями, заданными 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="qypgj@gmail.com" />


    </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 Ответ

1 голос
/ 06 августа 2010

Почему вы пытаетесь установить высоту вручную?Вам повезет больше, используя layout_height = "wrap_content".Я предполагаю, что проблема в том, что ваш размер текста 14,3sp слишком велик для области, которую вы разрешаете.

Кроме того, хорошим ресурсом для отладки сложных макетов является HeirarchyViewer, находящийся в папке tools..

...