Я использовал то же изображение с 9 патчами в папке с возможностью рисования, где оно работало нормально, но когда я сохранил его во внутренней памяти, оно воспринималось как обычное изображение с черными линиями (инструмента с 9 патчами), показанными на изображении.
public static Drawable getImageDrawable(Context context, String themeName, String imageName) {
File themeDir = new File(context.getFilesDir(), THEME_DIR);
File themeSubDir = new File(themeDir, themeName);
if (themeSubDir.exists() && themeSubDir.isDirectory()) {
File imageFile = new File(themeSubDir, imageName);
if (imageFile.exists() && imageFile.isFile()) {
if (imageName.endsWith(".9.png")) {
return getNinePatchDrawable(context, imageFile);
} else {
return Drawable.createFromPath(imageFile.getAbsolutePath());
}
}
}
return null; // Return null if the file does not exist
}
private static Drawable getNinePatchDrawable(Context context, File imageFile) {
try {
FileInputStream fis = new FileInputStream(imageFile);
Bitmap bitmap = BitmapFactory.decodeStream(fis);
if (bitmap != null) {
byte[] chunk = bitmap.getNinePatchChunk();
if (chunk != null) {
String chunkData = new String(chunk, StandardCharsets.UTF_8);
Log.d("TAG", "Chunk data: " + chunkData);
}
if (NinePatch.isNinePatchChunk(chunk)) {
Rect padding = new Rect();
NinePatchDrawable ninePatchDrawable = new NinePatchDrawable(context.getResources(), bitmap, chunk, padding, null);
return ninePatchDrawable;
} else {
Log.e("CheckPoint1", "The chunk is not a valid nine-patch chunk: " + imageFile.getAbsolutePath());
}
} else {
Log.e("CheckPoint2", "Bitmap could not be decoded: " + imageFile.getAbsolutePath());
}
} catch (Exception e) {
Log.e("CheckPoint3", "Error reading image file: " + imageFile.getAbsolutePath(), e);
}
return null;
}
в случае изображений с 9 патчами он всегда заканчивается на checkPoint1, я пробовал много изображений. когда я использую класс drawable, он показывает изображение, но область содержимого и растяжения работает как обычное изображение, но когда я сохранил эти изображения в папке с возможностью рисования, чтобы проверить, является ли изображение неисправным, я получил все изображения в порядке. я получил нулевые данные фрагмента при извлечении из внутреннего хранилища, но из доступных для рисования он также содержит значение.
Я использовал то же изображение с 9 патчами в папке с возможностью рисования, где оно работало нормально, но когда я сохранил его во внутренней памяти, оно воспринималось как обычное изображение с черными линиями (инструмента с 9 патчами), показанными на изображении. [code]public static Drawable getImageDrawable(Context context, String themeName, String imageName) { File themeDir = new File(context.getFilesDir(), THEME_DIR); File themeSubDir = new File(themeDir, themeName); if (themeSubDir.exists() && themeSubDir.isDirectory()) { File imageFile = new File(themeSubDir, imageName); if (imageFile.exists() && imageFile.isFile()) { if (imageName.endsWith(".9.png")) { return getNinePatchDrawable(context, imageFile); } else { return Drawable.createFromPath(imageFile.getAbsolutePath()); } } } return null; // Return null if the file does not exist } private static Drawable getNinePatchDrawable(Context context, File imageFile) { try { FileInputStream fis = new FileInputStream(imageFile); Bitmap bitmap = BitmapFactory.decodeStream(fis);
if (bitmap != null) {
byte[] chunk = bitmap.getNinePatchChunk(); if (chunk != null) { String chunkData = new String(chunk, StandardCharsets.UTF_8); Log.d("TAG", "Chunk data: " + chunkData); } if (NinePatch.isNinePatchChunk(chunk)) { Rect padding = new Rect(); NinePatchDrawable ninePatchDrawable = new NinePatchDrawable(context.getResources(), bitmap, chunk, padding, null); return ninePatchDrawable; } else { Log.e("CheckPoint1", "The chunk is not a valid nine-patch chunk: " + imageFile.getAbsolutePath()); } } else { Log.e("CheckPoint2", "Bitmap could not be decoded: " + imageFile.getAbsolutePath()); } } catch (Exception e) { Log.e("CheckPoint3", "Error reading image file: " + imageFile.getAbsolutePath(), e); } return null; } [/code] в случае изображений с 9 патчами он всегда заканчивается на checkPoint1, я пробовал много изображений. когда я использую класс drawable, он показывает изображение, но область содержимого и растяжения работает как обычное изображение, но когда я сохранил эти изображения в папке с возможностью рисования, чтобы проверить, является ли изображение неисправным, я получил все изображения в порядке. я получил нулевые данные фрагмента при извлечении из внутреннего хранилища, но из доступных для рисования он также содержит значение.
Есть ли способ добавить изображение в качестве цвета фона, т. е. другое изображение для фона каждой метки данных. Если есть, дайте мне знать.
Я пытался сделать это, поместив изображения в массив и приравняв его к цвету фона, но это не помогло....
Мне нужно загрузить файлы с 9 патчами из-за пределов папки с возможностью рисования. Это для того, чтобы мое приложение могло, например, загружать новые скины с сервера. Я обнаружил, что изображение с 9 патчами, хранящееся в папке с возможностью...
Я разрабатываю картографическое приложение, файл карты которого находится не в его ресурсах или необработанном виде, а на телефоне пользователя, например, Country.map, так как мне получить доступ, предоставив право доступа Media.IMAGES или...
Я хочу вычислить максимально доступный размер внутренней высоты и внутренней ширины окна, когда браузер открыт на весь экран (не в полноэкранном режиме)
Я пробовал эти коды:
window.screen.availHeight - (window.outerHeight - window.innerHeight)...
В моем приложении для Android объекты создаются с переменными, выбранными пользователем, и сохраняются в виде файлов данных во внутренней памяти.
Все работает хорошо и так, как должно. Иногда, когда я обновляю приложение, очень небольшой процент...