Удаление границы ImageView

У меня есть вертикально ориентированный LinearLayout, у которого есть дочерний элемент LinearLayout, включающий TextView, EditText и Button, а также дочерний элемент ImageView.

Итак, что-то вроде:

<LinearLayout>
   <LinearLayout>
        <TextView>
        <EditText>
        <Button>
   <ImageView>

И проблема, с которой я сталкиваюсь, заключается в том, что разделение между LinearLayout и ImageView (отображение .png в качестве фона с android:background="@drawable/sun") отображает видимую складку между ними. У меня есть LinearLayout, использующий тот же цвет фона, что и .png, так что кажется, что они сливаются вместе, но складка разрушает этот аспект.

Редактировать: Вот скриншот!

альтернативный текст

Видите тонкую линию под кнопкой отправки?

Вот xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/lightblue"

    >
    <TextView  
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="@string/welcome"
        android:textSize="17sp"
        android:textColor="@color/black"
    />
    <EditText 
        android:id="@+id/entry" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:hint="@string/hint_text"
        android:textSize="25sp"
        android:inputType="text"
    />
    <Button
        android:id="@+id/submitButton"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textSize="25sp"
        android:text="Submit"
    />
    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:paddingTop="0px"
    >
    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/sunclouds"
        android:layout_marginBottom="20dip"/>
    <TextView
        android:id="@+id/marq"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dip"
        android:layout_gravity="center_horizontal|bottom"
        android:textColor="@color/black"
        android:text="@string/provider"
        android:marqueeRepeatLimit="marquee_forever"
        android:ellipsize="marquee"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:singleLine="true"
        android:scrollHorizontally="true"

        />
    </FrameLayout>

</LinearLayout>

Как я могу это исправить?

(примечание, у моего солнца и облака грубые края, какие-нибудь быстрые исправления с помощью GIMP?)


person joepetrakovich    schedule 16.11.2010    source источник
comment
@PetrakovichJ: Скриншот определенно поможет. Кстати, вы правильно создали изображение PNG? Иногда это происходит, если вы не удаляете границу изображения при его экспорте в виде файла PNG.   -  person Legend    schedule 16.11.2010
comment
@Legend: изображение изначально было в формате jpg, и я использовал gimp, чтобы сохранить его в формате png. Я предполагаю, что это не проблема, о которой вы говорите, поскольку линия границы находится только в верхней части изображения.   -  person joepetrakovich    schedule 16.11.2010
comment
@PetrakovichJ: Понятно.. В этом случае это может произойти, если ImageView идет после LinearLayout, фон которого установлен в файл png. Я бы проверил, видна ли граница исходного фонового изображения PNG. Вы случайно не установили фон для внутреннего LinearLayout? Кроме того, не могли бы вы указать точный XML, который вы используете? Не стесняйтесь помещать только соответствующие части, так как это действительно поможет в отладке. Что касается gimp, я использую другой пакет, но если есть опция сглаживания, это может помочь. Но опять же, это действительно зависит от исходного качества JPG.   -  person Legend    schedule 16.11.2010
comment
Вы абсолютно уверены, что линии нет на самом изображении?   -  person Reuben Scratton    schedule 16.11.2010
comment
Позвольте мне выполнить все эти запросы/проверки, и я свяжусь с вами обоими.   -  person joepetrakovich    schedule 16.11.2010
comment
Я не могу воспроизвести вашу ошибку. Я совершенно уверен, что это образ.   -  person Octavian A. Damiean    schedule 16.11.2010
comment
@PetrakovichJ: То же самое... Не могу воспроизвести...   -  person Legend    schedule 17.11.2010
comment
Ну и все, почему-то вверху изображения была тонкая полоска, я ее просто закрасил канителью. Спасибо всем, я должен был попробовать это перед публикацией, но я не подозревал о такой случайной тонкой линии.   -  person joepetrakovich    schedule 17.11.2010
comment
@PetrakovichJ: Рад, что помог :)   -  person Legend    schedule 21.11.2010


Ответы (1)


В качестве справки для тех, у кого не хватает терпения просматривать комментарии, настоящая проблема заключалась в том, что на экспортированном изображении была тонкая линия, которую исправил ОП. В любом случае, ниже приводится список причин, по которым это может произойти:

  • Экспортированное изображение имеет тонкую линию. Обычно это можно решить, нарисовав небольшой прямоугольник поверх линии. Если нет, то нарежьте версию изображения размером 1 пиксель и поместите ее поверх этой линии, чтобы скрыть ее. Обычно это работает нормально.
  • При экспорте, если вы устанавливаете цвет линии - чтобы решить эту проблему, удалите цвет линии. Либо установите его в тот же цвет, что и изображение, либо удалите его совсем.
person Legend    schedule 20.11.2010