Фоновое изображение не отображено в Firefox

Предполагается, что это будет сохранено в папке «Картинки»

getExternalStorageDirectory() возвращает корень внешнего хранилища, а не какое-либо местоположение внутри него (например, Pictures/ , DCIM/, Movies/).

Я также попробовал Environment.getExternalStoragePublicDirectory (Environment.DIRECTORY_PICTURES) с тем же результатом

Это даст вы соответствуете директории или независимо от того, что устройство считает правильным каталогом (обычно называемым Pictures/ во внешнем хранилище для любого текущего пользователя).

, но Environment.getExternalStorageDirectory (). getAbsolutePath ( ), похоже, создает новую файловую структуру, такую ​​как этот файл: // storage / emulated / 11 / Pictures /

11 немного необычен, а getAbsolutePath() ничего не возвращает с file://, но в противном случае это кажется правильным.

Но это не стандартная папка «Картинки» на любом из моих тестовых устройств или эмуляторов.

Я не знаю, как вы определили

Я хотел бы знать, есть ли способ сохранить эту папку, а также установить собственное имя файла.

Начать с вашего первый образец, переключившись на DIRECTORY_PICTURES. Затем:

  • имеют outputStream сообщение FileOutputStream
  • outputStream.getFD().sync() после flush() и перед close()
  • используют MediaScannerConnection и его scanFile(), чтобы MediaStore проиндексировать изображение, поэтому он доступен для галерей на устройстве, для файловых менеджеров настольных ОС и т. д.
19
задан user46665 16 December 2008 в 13:44
поделиться

12 ответов

Извините это стало огромным, но это покрывает две возможности, которые последовательно происходят со мной.

Возможность 1

можно найти, что путь к файлу CSS не корректен. Например:

Говорят, что у меня есть следующая файловая структура:

public/
    css/
        global.css
    images/
        background.jpg
    something/
        index.html
    index.html

На public/index.html следующие пути будут включать файл CSS:

#1:  <link href="./css/global.css"
#2:  <link href="/css/global.css"
#3:  <link href="css/global.css"

Однако на public/something/index.html номер 1 и 3 перестанет работать. Если Вы используете структуру каталогов как это (или структура MVC, например: http://localhost/controller/action/params), используют второй тип href.

Сетевая вкладка монитора Firebug скажет Вам, если файл CSS не может быть включен.

На предмет путей помнят, что изображения относительно пути файла CSS. Так:

url('./images/background.jpg') /* won't work */
url('../images/background.jpg') /* works: ../ == up one level */

Парение по url() часть фона приписывают на вкладке CSS Firebug, чтобы проверить если то, что файл был загруженным.

Возможность 2

могло случиться так, что эти div не имеет никакого содержания и таким образом имеет 0 высот. Удостоверьтесь, что у отделения есть, по крайней мере, строка чего-то в (например: lorem ipsum delors secorum) или:

div.something {
    display: block; /* for verification */
    min-height: 50px;
    min-width: 50px;
}

вкладка расположения Firebug Проверки (вкладки HTML) для проверки отделения имеет высоту/ширину.

14
ответ дан 30 November 2019 в 03:43
поделиться

Действительно ли Вы абсолютно уверены, что изображение является файлом JPG и не файлом PNG/другого?

я задаюсь вопросом, позволяет ли IE Вам сойти с рук что-то другое, что браузеры не.

Аналогично, случай файлов точно как указан?

0
ответ дан 30 November 2019 в 03:43
поделиться

Существует этот тег 'основы' HTML как в

<head>
   <base href="http://example.com/some/bizarre/directory"/>
</head>

, Если это присутствует на Вашей странице, изображение для URL не относительно Вашего текущего URL, но к данному базовому URL. Я не знал бы, почему IE отображает его, и Firefox не делает, все же.

Веб-разработчик расширение Firefox предоставляет возможность "Отображать разорванные изображения" - это может пригодиться. Кроме того, Вы могли бы попробовать" Живые Заголовки Http ", чтобы видеть, требуют ли изображение и каков код возврата.

0
ответ дан 30 November 2019 в 03:43
поделиться

попробуйте это.

background-color: transparent;
background-image: url("/path/to/image/file.jpg");
background-repeat: repeat;
background-position: top;
background-attachment: scroll;
1
ответ дан 30 November 2019 в 03:43
поделиться

Вы могли попробовать это:

div.something {
background: transparent url(../images/table_column.jpg);
}

другие объявления являются краткими свойствами CSS и мной afaik, они не нужны.
у Вас есть это онлайн где-нибудь? Я хотел бы видеть, могу ли я играть с ним немного. (локально)

0
ответ дан 30 November 2019 в 03:43
поделиться

Удостоверьтесь, что изображение, к которому Вы обращаетесь, относительно файла CSS а не файла HTML.

1
ответ дан 30 November 2019 в 03:43
поделиться

Попытайтесь поместить название картинки в кавычки, например:

background-image: url('image.jpg');
1
ответ дан 30 November 2019 в 03:43
поделиться

Больше вопросов, чем ответы, я боюсь, но они могли бы помочь Вам добраться до правильного ответа:

это возможный, что Вы сворачиваете отделение в Firefox в некотором роде (с некоторыми плаваниями или подобные)?

там какое-либо другое содержание в отделении, чтобы гарантировать, что это является достаточно большим для отображения изображения?

Вы установили Firebug и смотрели на определения CSS на странице?

0
ответ дан 30 November 2019 в 03:43
поделиться

У меня была аналогичная проблема с CSS-свойством background-image в FF. Он отлично работал в IE, но отказывался работать в FF;) Прочитав несколько сообщений, я установил, что проблема действительно заключалась в том, что в div не было содержимого, кроме таблицы (я пытался настроить фоновое изображение под размер браузера без сворачивания или расширения и поэтому использовал гораздо большее изображение на заднем плане div, чтобы сформировать своего рода `` обрезку ''.) Мне кажется, решение было просто `` обмануть '', поместив тег img, который отобразил пустой файл .png, который я затем скорректировал до правильной высоты изображения с шириной, установленной на 100%. Это сработало для моей проблемы, и я надеюсь, что это поможет всем, кто сталкивается с аналогичной проблемой. Возможно, не лучшее исправление, но это исправление;

0
ответ дан 30 November 2019 в 03:43
поделиться

Единственное, о чем я могу думать помимо того, что уже было сказано, - это способ создания изображения. Если вы создали / редактировали изображение в Photoshop, убедитесь, что вы сохранили его как «Сохранить для Интернета» ...

Иногда, если вы используете изображение в формате JPG для Photoshop без сохранения в виде веб-изображения, оно может не отображаться в Firefox. У меня такое случилось несколько недель назад, когда художник-график создал красивый заголовок для мини-сайта, и он НЕ появлялся в FF!

Подождите ...

Попробуйте установить ширину и высоту в div, чтобы расширить его . Возможно, в вашем div нет содержимого.

0
ответ дан 30 November 2019 в 03:43
поделиться

Как ни странно, после того, как я часами бился головой о клавиатуру, я добавил display: table; к стилю DIV, и фоновое изображение волшебным образом появилось в FF.

7
ответ дан 30 November 2019 в 03:43
поделиться

Вместо использования URL-адресов относительно страницы / таблицы стилей кроссбраузерное решение состоит в том, чтобы дать относительный URL-адрес, начинающийся с корня приложения / домена.


/* Relative to Stylesheet (Works in Firefox) */
background: url('../images/logo.gif');
/* Relative to Page (Works in IE, Chrome etc.) */
background: url('images/logo.gif');
/* Absolute path (Fine, unless you change domains)*/
background: url('http://www.webby.com/myproduct/images/factsheet.gif');
/* Domain Root-relative path (Works in Firefox, IE, Chrome and Opera) */
background: url('/myproduct/images/factsheet.gif');

К вашему сведению: насколько я понимаю, кавычки в URL-адресах CSS не требуются, я использовал их здесь, потому что это выглядит красивее.

1
ответ дан 30 November 2019 в 03:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: