Текст My Touch 4g в EditText слишком высоко отцентрирован по вертикали - PullRequest
0 голосов
/ 04 июля 2011

У меня есть пользователь MyTouch 4g, который отправил следующие снимки экрана (извините, я не могу публиковать изображения):

Неверный формат

Предположительно, 480x800.При использовании 480x800 в симуляторе все работает нормально:

Хороший формат

Здесь приведен соответствующий xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:orientation="vertical">
        <TableRow android:background="@drawable/gradient_row"
            android:paddingTop="4dip">
            <TextView 
                android:id="@+id/outDiameterLabel" 
                android:paddingTop="6dip" 
                android:paddingRight="5dip"
                android:layout_gravity="right" 
                android:layout_height="40dip"
                android:layout_width="wrap_content" 
                android:textColor="#FFFFFF" 
                android:textSize="15dip"
                android:text="@string/outDiameterLabel" />
            <EditText 
                android:id="@+id/outExactDiameter"
                android:layout_height="40dip" 
                android:layout_width="wrap_content"
                android:gravity="center" 
                android:focusable="false" 
                android:numeric="decimal" />
            <EditText 
                android:id="@+id/outRoundedDiameter"
                android:layout_height="40dip" 
                android:layout_width="wrap_content"
                android:gravity="center" 
                android:focusable="false" 
                android:numeric="decimal" />
        </TableRow>
    </TableLayout>
</LinearLayout>
</ScrollView>

Он также выключенширина.Если вы посмотрите на входы внизу, обратите внимание на то, как усекается последняя кнопка справа.В остальном, ширина в порядке.Я не знаю, как было получено изображение, это 452 x 640. Его телефон: HTC MyTouch 4G, Android 2.2.1, Kernel 2.6.32.21-g899d047, ключи сборки Build 1.17.531.2 CL277036, номер программного обеспечения 7.17.531.2 Браузерверы.WebKit 3.1.Он также попытался удалить и переустановить.

Я не могу воспроизвести это на любом устройстве, которое у меня есть или в эмуляторе.У кого-нибудь, кроме покупки или заимствования myTouch 4g, есть какие-нибудь идеи для исправления?

Кевин

1 Ответ

2 голосов
/ 04 июля 2011

Похоже, что 40dip не является подходящей высотой для этих полей, и текст обрезается границами содержимого фона из 9 фрагментов EditText. Ваши виджеты Spinner выше одинаково обрезаны на обоих скриншотах, поэтому маленькие стрелки вниз вправо имеют странные формы, а не чистый треугольник.

Доступны два простых варианта. Вы можете ослабить ограничение высоты 40dip для соответствующих полей и использовать вместо этого wrap_content. Это самый простой (и, вероятно, лучший) подход в вашей ситуации.

В качестве альтернативы вы можете создать свои собственные стили для затронутых виджетов, в том числе собственные 9-патчи для состояний «сфокусировано», «отключено», «нажата» и т. Д. Это позволит вам гарантировать, что визуальные элементы и метрики для полей совместимы с вашим ограничением по высоте на всех устройствах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...