Articles of android resources

@string和@ +string之间的区别?

有时候,当我想将一个值引用到string引用时,我使用了@ string / blabla,但是有时它会给我一个错误,我可以运行代码,除非将@string to @+string更改@string to @+string它们之间的区别是什么? 任何答案将是如此有帮助。 提前致谢!

Android Studio中其他模块的参考资源

我有一个主要的应用程序模块以及一些库模块。 我的库模块如何引用主应用程序模块中的资源。 例如:我的基本应用程序有一个colors.xml,它有一个叫做“AppPrimary”的颜色项,它是蓝色的。 在我的库中,我想在xml布局中引用@ color / AppPrimary颜色,但这不起作用。 我怎样才能做到这一点? 编辑:我应该指定这不是专门appCompat资源。 只是通用的string/颜色/风格/在我的主要模块。 我怎样才能在我的库模块colors.xml / strings.xml中的同一个项目中引用它们?

什么样的声明式?

假设我正在用风格化的属性做一些新的视图。 我这样宣布他们(这就是文档如何做到的 : <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="TriangleView"> <attr name="direction"> <enum name="NE" value="0" /> <enum name="NW" value="1" /> <enum name="SW" value="2" /> <enum name="SE" value="3" /> </attr> </declare-styleable> <declare-styleable name="BannerView"> <attr name="direction"> <enum name="NE" value="0" /> <enum name="NW" value="1" /> <enum name="SW" value="2" /> <enum name="SE" value="3" /> </attr> <attr name="thickness" format="dimension" /> </declare-styleable> […]

构build应用程序时出现“找不到资源”错误

我想将我的Eclipse项目迁移到Android Studio。 我曾经使用minSdkVersion = 8构build项目,但是我想添加需要minSdkVersion 10的新function。 我正在运行Android Studio 1.1.0。 导入Eclipse项目(在主AS屏幕上的“导入项目”)后,进入“Project Structure”窗口,select“Flavors”选项卡,并为min sdk和target sdk指定API 10(姜饼)。 当我重build项目时,在控制台中出现了100多个错误,如下所示: 信息:Gradle tasks [clean::jellyWatch:compileDebugSources]:jellyWatch:clean:jellyWatch:preBuild UP-TO-DATE:jellyWatch:preDebugBuild UP-TO-DATE:jellyWatch:checkDebugManifest:jellyWatch:preReleaseBuild UP-TO-DATE:jellyWatch: prepareComAndroidSupportAppcompatV72200Library:jellyWatch:prepareComAndroidSupportMediarouterV72200Library:jellyWatch:prepareComAndroidSupportSupportV42200Library:jellyWatch:prepareComGoogleAndroidGmsPlayServices750Library:jellyWatch:prepareComGoogleAndroidGmsPlayServicesAds750Library:jellyWatch:prepareComGoogleAndroidGmsPlayServicesAnalytics750Library:jellyWatch:prepareComGoogleAndroidGmsPlayServicesAppindexing750Library:jellyWatch:prepareComGoogleAndroidGmsPlayServicesAppinvite750Library:jellyWatch:prepareComGoogleAndroidGmsPlayServicesAppstate750Library:jellyWatch:prepareComGoogleAndroidGmsPlayServicesBase750Library:jellyWatch:prepareComGoogleAndroidGmsPlayServicesCast750Library:jellyWatch:prepareComGoogleAndroidGmsPlayServicesDrive750Librar Y:jellyWatch:prepareComGoogleAndroidGmsPlayServicesFitness750Library:jellyWatch:prepareComGoogleAndroidGmsPlayServicesGames750Library:jellyWatch:prepareComGoogleAndroidGmsPlayServicesGcm750Library:jellyWatch:prepareComGoogleAndroidGmsPlayServicesIdentity750Library:jellyWatch:prepareComGoogleAndroidGmsPlayServicesLocation750Library:jellyWatch:prepareComGoogleAndroidGmsPlayServicesMaps750Library:jellyWatch:prepareComGoogleAndroidGmsPlayServicesNearby750Library:jellyWatch:prepareComGoogleAndroidGmsPlayServicesPanorama750Library:jellyWatch:prepareComGoogleAndroidGmsPlayServicesPlus750Library:jellyWatch:prepareComGoogleAndroidGmsPlayServicesSafetynet750Library:jellyWatch:prepareComGoogleAndroidGmsPlayServicesWallet750Library:jellyWatch:prepareComGoogleAndroidGmsPlayServicesWearable750Library: jellyWatch:prepareDebugDependencies:jellyWatch:compileDebugAidl:jellyWatch:compileDebugRenderscript:jellyWatch:generateDebugBuildConfig:jellyWatch:generateDebugAssets UP-TO-DATE:jellyW atch:mergeDebugAssets:jellyWatch:generateDebugResValues UP-TO-DATE:jellyWatch:generateDebugResources:jellyWatch:mergeDebugResources /Users/oreilly/Documents/workspace/JellyWatch1/jellyWatch/src/main/res/drawable/creative_commons.png:libpng警告:iCCP:不识别已编辑的已知sRGBconfiguration文件/Users/oreilly/Documents/workspace/JellyWatch1/jellyWatch/src/main/res/drawable/mapmarker.png:libpng警告:iCCP:不识别已编辑的已知sRGBconfiguration文件/用户/oreilly/Documents/workspace/JellyWatch1/jellyWatch/src/main/res/drawable/other_29.png:libpng警告:iCCP:无法识别已编辑的已知sRGBconfiguration文件/ Users / oreilly / Documents / workspace / JellyWatch1 / jellyWatch / src / main / res / drawable / license_label.png:libpng警告:iCCP:无法识别已编辑的已知sRGBconfiguration文件/Users/oreilly/Documents/workspace/JellyWatch1/jellyWatch/build/intermediates/exploded-aar/com.android 。支持/程序兼容性-V7 / 22.0.0 / RES /抽拉-HDPI-V4 […]

获取颜色资源作为string

我试图在颜色资源上使用Color.parseColor() : <color name="redish">#FF0000</color> 我试过这个,但它给了我错误未知的颜色 : Color.parseColor(Integer.toHexString(context.getResources().getColor(R.color.redish))) 如何正确地将颜色资源转换为String ?

由于宽度和高度,未findAndroid资源

我最近在商店里发布了一个Android应用程序,几乎可以让所有的用户都使用它。 不过,我很快就开始每周收到一些崩溃报告, Caused by: android.content.res.Resources$NotFoundException: File res/drawable-xhdpi/dark_button_unpressed.png from drawable resource ID #0x7f02005d at android.content.res.Resources.loadDrawable(Resources.java:1716) at android.content.res.Resources.getDrawable(Resources.java:581) at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:162) at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:787) at android.graphics.drawable.Drawable.createFromXml(Drawable.java:728) at android.content.res.Resources.loadDrawable(Resources.java:1696) … 40 more Caused by: java.lang.IllegalArgumentException: width and height must be > 0 at android.graphics.Bitmap.nativeCreate(Native Method) at android.graphics.Bitmap.createBitmap(Bitmap.java:477) at android.graphics.Bitmap.createBitmap(Bitmap.java:444) at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:349) at android.graphics.BitmapFactory.finishDecode(BitmapFactory.java:498) at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:473) at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:336) at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:697) at […]

没有得到与stream派的拇指 – 环球音乐播放器

我使用Google提供的UMP示例,我没有对代码做任何改变,即使我没有试过任何东西,我只是将你的项目导入到我的工作空间,并在我的设备上检查,发现我not getting Thumb with Genres ( not getting Thumb with Genres歌曲)和stream派列表的not getting Thumb with Genres … 而我应该从我们的JSON得到拇指,这是我所尝试(但没有成功) – holder.mImageView.setImageBitmap(description.getIconBitmap()); 根据@NageshSusarla 在这里build议的更新#1 holder.mTitleView.setText(description.getTitle()); holder.mDescriptionView.setText(description.getSubtitle()); AlbumArtCache cache = AlbumArtCache.getInstance(); Bitmap art = cache.getIconImage(url); if (art == null) { cache.fetch(url, new AlbumArtCache.FetchListener() { @Override public void onFetched(String artUrl, Bitmap bitmap, Bitmap icon) { if (artUrl.equals(url)) { holder.mImageView.setImageBitmap(icon); } […]

Android Studio旧版和新版OSX上的Gradle构build失败

当我在PC上工作时,我有一个成功的构build项目,并在迁移到OSX之前将其提交到我的Git repo。 现在,我在OSX上安装了Android Studio最新版本,并尝试构build相同的项目,并在构build资源时出现错误。 在build立Manifest资源的同时,它给出了多个错误 找不到与给定名称匹配的资源 为drawables和string。 在浏览网页时,我想也许更新版本的gradle有一些问题。 所以,我把AS的安装降级到AS 1.0,并使用旧的gradle 2.2。 不幸的是,这个版本的gradle也给出了同样的错误。 我的build.gradle如下所示: apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "xxx" minSdkVersion 16 targetSdkVersion 21 versionCode 4 versionName "1.3" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } sourceSets { main { res.srcDirs = [ "/src/main/res" ] […]

TypedArray的getResourceId方法

我正在阅读有关getResourceId()方法的文档。 它说: 检索索引处属性的资源标识符。 请注意,在检索整个TypedArray对象时parsing属性资源。 因此,该函数将返回find的最终资源值的资源标识符,而不一定是该属性指定的原始资源。 所以 第一段是明确的: 检索索引处属性的资源标识符。 第二个也很清楚: 请注意,在检索整个TypedArray对象时parsing属性资源。 但是3段是什么意思呢? 为什么它可能返回 不一定是原始资源ID ? 因此,该函数将返回find的最终资源值的资源标识符,而不一定是该属性指定的原始资源。

Android的哪个部分负责挑选正确的资源configuration文件?

我有一个奇怪的问题。 在您想出一个想法来抨击我之前,我正在研究一个定制果冻豆。 因此,“平常的好方法”在这里可能不起作用,并且必须制定肮脏的解决方法。 我有一个包含以下资源的APK: layout layout-mdpi layout-land layout-large-mdpi layout-large-land-mdpi layout-large-hdpi layout-large-xhdpi 还有一些其他的度量代码返回这个: D/AppDemo( 2091): measured width: 1920 PE width: 1920 scaleFactor = 1.0 D/AppDemo( 2091): [ANDROID] measured width: 1920 measured height: 1080 D/AppDemo( 2091): [ANDROID] scale for resources: 2.0 xdpi: 320.0 ydpi: 320.0 D/AppDemo( 2091): [ANDROID] screen density: xhdpi D/AppDemo( 2091): [ANDROID] screen size: large […]