views:

109

answers:

4

What is the best approach when using default Android drawables? Should I use android.R.drawable or should I copy the drawables in my project and use R.drawable?

Is there any risk, that in a newer version of Android, some of the default drawables are removed or resized? Or, affect in some negative way, the look of my app? Also, which of the drawables in the Android source code are considered "stable" and should be relied on?

I'd rather not copy the drawables because I think that the look of the app should be consistent with the Android version used. So, for example, for version 1.6 it should use the default Android bitmaps for version 1.6.

+3  A: 

Better to use android.R.drawable because it is public and documented.

Orsol
+2  A: 

Better you copy and move them to your own resources. Just in case, here is a link to a drawables comparison:

http://www.fixedd.com/projects/android_drawables_display

ggomeze
Thanks for the useful link. However, I am not convinced that I should copy them to my own resources.
kaciula
+1  A: 

As far as i remember, the documentation advises against using the menu icons from android.R.drawable directly and recommends copying them to your drawables folder. The main reason is that those icons and names can be subject to change and may not be available in future releases.

Andreas
Hmm. Can you provide a link in the documentation?
kaciula
I found the link: http://developer.android.com/guide/practices/ui_guidelines/icon_design.html#menuapx
kaciula
Hi, So what is the conclusion? To copy or not to copy? This answer sounds convincing to actually copy, but all others advise against it.
kiki
+1  A: 

If you read through any of the discussions on the android development group you will see that they discourage the use of anything that isn't in the public SDK because the rest is subject to extensive change.

androidworkz
So, basically, anything from http://developer.android.com/reference/android/R.drawable.html can be used directly without copying?
kaciula
Yes... that is what I would think.
androidworkz