Изображение с девятью патчами для рисования границы в 1 пиксель вокруг TextView

введите здесь описание изображения‹-- Это изображение размером 3x3. Извините.

Я использую следующие изображения 3x3.

Итак, когда я открываю с помощью draw9patch.bat и добавляю 2 пикселя сверху и слева соответственно, я получаю следующие изображения.

введите здесь описание изображения

Я ожидаю, что если я применю это изображение к TextView, весь мой TextView будет иметь границу шириной 1 пиксель вокруг себя.

Однако мне удается получить только «половину границы». Границы справа и снизу отсутствуют.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal|center_vertical"
    android:orientation="vertical"
    android:background="#ffffff" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView"
        android:background="@drawable/border" />

</LinearLayout>

введите здесь описание изображения

Что-то не так с моим изображением из 9 патчей?

введите здесь описание изображения‹ -- исправление 9 изображений для целей тестирования.


person Cheok Yan Cheng    schedule 25.07.2012    source источник


Ответы (3)


Попробуйте добавить вокруг него пустое пространство в 1 пиксель. См. прикрепленное изображение.

дополненный фон

person RobGThai    schedule 25.07.2012
comment
В ПОРЯДКЕ. Кажется, теперь это работает. Но почему нам нужно оставлять 1px пустого пространства вокруг него? Любое объяснение? - person Cheok Yan Cheng; 25.07.2012
comment
Я понятия не имею. Я предполагал, что Android как-то путает крайний пиксель с границей. Возможно, они масштабируют изображение перед тем, как делать растяжку. Просто дикая догадка. - person RobGThai; 25.07.2012

Вы пытались добавить 2 пикселя, соответствующие содержимому, например:

введите здесь описание изображения

person Costi Muraru    schedule 25.07.2012
comment
Неа. Не помогло. Результат все тот же. - person Cheok Yan Cheng; 25.07.2012
comment
Файл сохранен как .9.png? Не могли бы вы опубликовать это здесь? - person Costi Muraru; 25.07.2012

Извините за astroturf, но я предлагаю вам посмотреть мой ответ на этот вопрос: как создать градиентное поле Iphone Edittext в android

Краткий ответ: постарайтесь не сомневаться в платформе. Чуть более длинный ответ: форма, которую можно нарисовать на вашем фоне вероятно, даст лучшие результаты. Связанный ответ показывает, как это сделать.

person Sparky    schedule 25.07.2012