Android studio can not detect the source file in res/drawable - android

This is my code. I don't know how to post this image.
I tried to add source file for my ImageView. But it doesn't work. I tried to copy the path folder and it is still not work.

Solution - first problem
The resource name must start with a letter (not number).
Solution - second problem
Use just:
#drawable/039_cloud
instead
#drawable/039_cloud/039_cloud
so:
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="#drawable/039_cloud" />
Android Studio
Android Studio is grouping same images, but for different DPIs.
When you choose Android view, you will have:
But when you will choose Project you will see "real" project structure:

Copy the image resource and paste it directly inside the drawable folder. Rename the image such that no number is included (e.g. image_thirty_nine.png). Then try this
<ImageView
android:id="#+id/image_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="#drawable/image_thirty_nine" />
If you are till getting the same error after trying the above step, then try adding the image resource programmably
//ensure you assignn an id to your image
ImageView imageView = findViewById(R.id.image_id);
imageView.setImageResource(R.drawable.image_thirty_nine);
then run your code to see if it works

Related

How to fix android error 'Color value must start with #'?

I was trying to use an icon from this page in my layout as follows
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="#drawable/ic_backspace_black_24dp"
/>
but it could not be rendered because of an error
Color value '#drawable/ic_backspace_black_24dp' must start with #
I found two related issues in SO here and here which did not help resolve the issue.
There is no dash ('-') in the filename, the file-format is a 'png' and there is no res/color directory in my project.
All my colors defined in colors.xml start with a #.
So how to fix this error?
Simply rename your file name by removing the numbers and only keep lower case letters or underscores.
Problem solved: I forgot to remember that the android sources on the internet are really outdated, and almost none of the documentation works as-is!
The folder res/drawable as suggested in the android developer guide is deprecated! The folder is now named mipmap! So the simple solution is to have the following layout to fix the problem:
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="#mipmap/ic_backspace_black_24dp"
/>
Never trust the android developer documentation ... !
Try removing the '_" underscores and make the name shorter. Not sure why but that worked for me.
Check the file drawable/ic_backspace_black_24dp.
If you downloaded the SVG version you will able to open as a text file. Check if the android:fillColor has the #.
Anyway if you are using Android Studio those icons can be downloaded very easily using Vector Asset Studio:
Right click in drawable
new
vector assets
choose the icon you want
You have more info of this feature here.

MvvmCross binding image file to Android ImageView

I am trying to bind an image file to an Android ImageView that is within an MvxListView. The images are just not appearing when the View is shown.
I have included the MvvmCross.HotTuna.Plugin.File package.
ListVideo.axml (snippet)
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="#android:color/holo_blue_bright"
local:MvxBind="ImageUrl Thumbnail" />
The typical value for Thumbnail is
VideoData/2015-07-24-09-26-16/2fea9249-9370-4542-927a-c856e678f7b1.jpg
The value of Context.FilesDir.Path is /data/data/com.app.AppName/files
The image file /data/data/com.app.AppName/files/VideoData/2015-07-24-09-26-16/2fea9249-9370-4542-927a-c856e678f7b1.jpg does exist
I understand that to bind an image some custom folder determined within your app, I need to provide a path relative to Context.FilesDir.Path in order for the plugin to load it. I believe that the string in Thumbnail is correct.
But nothing is displayed in the ImageView. I have been banging my head against this one all morning. Any suggestions?
Edit :
I have managed to solve the problem !!
I needed the MvvmCross.HotTuna.Plugin.DownloadCache as well as the MvvmCross.HotTuna.Plugin.File package.
I have managed to solve the problem !!
I needed the MvvmCross.HotTuna.Plugin.DownloadCache as well as the MvvmCross.HotTuna.Plugin.File package.

Android Imageview

I have kept some .png file in res->drawable-hdpi and now, I want to show it in imageview in android. But when I refer to that image from image view, android says:
Couldn't resolve resource #drawable/my_pic.
I am using the following code :
<ImageView
android:id="#+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="#drawable/my_pic" />
I am using every file name in small letter
The size of my_pic is 36kb
So how can I load the picture? Is this problem for size or something else. How to fix this problem. Any help ?
If you dont save your changes, you get a
"Couldn't resolve resource #drawable/my_pic."
Control+S ... to save Changes, its all or..
When the R.java have a problem, only needs:
(Project -> Clean from the menus)

How to set background image for button in Android?

I Imported one image inside the drawable-mdpi, then implemented the image from button, but an error occurs no resource found here. How do I fix this issue?
I tried this:
main.xml
<Button
android:id="#+id/imageButtonSelector"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#drawable-mdpi/button_focused_orange"/>
All drawables are compiled under a single resource name, i.e. drawable. Android automatically chooses from which folder to take the drawable depending on the screen size, and hence you do not need to specifically point it out. Also, hard coding Android to use resources from a particular folder kind of defeats the purpose of having multiple folders for Android to choose from. To solve this issue, simply change:
android:background="#drawable-mdbi/button_focused_orange"/>
To
android:background="#drawable/button_focused_orange"/>
Should be #drawable/button_focused_orange
Not #drawable-mdpi/button_focused_orange
Try to clean and rebuild your project.
If you are usuing Eclipse you can do this by clicking project -> clean and then project -> Build project
You don't have to mention -mdpi to add background images, simply use drawable only. Here is you revised code. Try this.
<Button
android:id="#+id/imageButtonSelector"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#drawable/button_focused_orange"/>

Android XML Viewer failing

I've been having this problem for a while:
Here is my header.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:orientation="vertical">
<ImageView android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="#drawable/logo_text"/>
</LinearLayout>
And this what the Eclipse/Android XML viewer is giving me:
Unable to resolve drawable "C:\Users\Me\MyApp\res\drawable-hdpi\logo_text.png" in attribute "src"
This happens in other projects as well for seemingly random images. Project->Clean doesn't help either. I know this has to be an issue with my machine or eclipse installation because it doesn't happen on my work machine, only my home laptop.
There are no problems when the app is installed, but it would be nice to be able to see layout changes without having to install the app over and over again.
EDIT
I also get these messages anytime I use a custom View in a layout file:
error!
UnsupportedClassVersionError: Bad version number in .class file
Unable to resolve drawable "C:\Users\Me\MyApp\res\drawable-hdpi\logo_text.png" in attribute "src"
Exception details are logged in Window > Show View > Error Log
I sometimes have weird issues like this when importing new images into my project. Do you have any other res-image directories with different versions of this file? You may try removing the png and re-adding to the project.
The error message explicitly mentions the -hdpi version of the drawable directory. Have you got that image in all of the different versions of the drawable directory? Perhaps it is in res/drawable-ldpi or res/drawable-mdpi but not res/drawable-hdpi?
If you don't already have one, you could create a plain res/drawable folder and add the image there, then one would expect the system to fall back to that whenever it didn't find a definition-specific version.
Actually try to put an id tag on ImageView : android:id=:"#+id/imageView".Tell me if it is working or not.

Categories

Resources