Articles of 资源

颜色值可绘制资源问题

我在一个名为drawable-sw600dp的文件夹中有一个1900 * 1200的图像,它喜欢在nexus 7上使用过。当我尝试运行应用程序主要活动时,屏幕是白色的,我收到以下错误: java.lang.NumberFormatException: Color value ‘@drawable-sw600dp/background5’ must start with # at com.android.layoutlib.bridge.impl.ResourceHelper.getColor(ResourceHelper.java:71) at com.android.layoutlib.bridge.impl.ResourceHelper.getDrawable(ResourceHelper.java:248) at android.content.res.BridgeTypedArray.getDrawable(BridgeTypedArray.java:782) 可能是图像太大而无法使用? 或者可能导致此错误发生的原因是什么? 这是在我的activity_main.xml中设置了背景: xmlns:tools=”http://schemas.android.com/tools” android:layout_width=”match_parent” android:layout_height=”match_parent” android:background=”@drawable/background5″ android:paddingLeft=”@dimen/activity_horizontal_margin” android:paddingRight=”@dimen/activity_horizontal_margin” android:paddingTop=”@dimen/activity_vertical_margin” android:paddingBottom=”@dimen/activity_vertical_margin” android:id=”@+id/MainLayout” tools:context=”.MainActivity”> 在我的其他文件夹drawable-hdpi,-mdpi没有问题。 然而,我使.jpg图像的分辨率更高,现在它产生了这个错误,这就是为什么我怀疑高分辨率导致问题。

Android上从右到左语言的状态是什么?

我需要创建一个包含多种语言字符串的应用程序,包括RTL(从右到左)语言。 我想知道Android上的RTL(从右到左)支持的当前状态(即使在最新的API上),例如: 是否可以动态/静态地检查设备的当前语言是否为RTLtypes? 我知道可以获取当前的语言环境,但我需要一种更通用的方法来检查当前语言是否为RTL。 例如,对于英语和法语,它将返回false,但对于阿拉伯语和希伯来语,它将返回true。 是否可以设置一个布局自动镜像为RTL语言? 例如,如果linearLayout(具有水平方向)的子项为1-> 2,则现在它将具有2 <-1,并且将在左侧创建新子项。 是否有一个限定符添加到将处理所有RTL语言的资源文件夹? 例如,“res / layout”用于LTR(从左到右),“res / layout-rtl”用于RTL语言。 似乎eclipse的内容辅助建议使用linearLayout的“android:layoutDirection”和textView的“android:textDirection”,但是当我选择它们时,我得到一个它无法识别它们的编译错误。 我也无法在互联网上find有关这些属性的更多信息。 他们是什么意思,为什么我不能使用它们? 编辑:似乎Android 4.1在RTL语言上有一些改进。 不知道它们是什么以及我可以在哪里阅读它们。

Android风格资源编译(aapt)失败:错误的资源表:标头大小0xc

我只花了几个小时就有一个可怕的Android资源预编译问题来处理样式,并且想知道是否有人可以解释导致它的原因。 我修好了但不知道问题是什么。 Android没有帮助说错误是在colors.xml中而不是在另一个xml中。 第1步 – 重新创建错误 Given a style @id/title_container fill_parent @dimen/title_height horizontal @color/title_color_light 我复制了它,给了它新的,android:id @id/info_container @id/title_container fill_parent @dimen/title_height horizontal @color/title_color_light @id/info_container fill_parent @dimen/info_height1 horizontal @color/title_color_light 保存并编译表示id中的错误 @id/info_container Description Resource Path Location Type error: Error: No resource found that matches the given name (at ‘android:id’ with value ‘@id/info_container’). styles.xml /MyApp/res/values line 68 Android AAPT Problem […]

如何从assets文件夹中获取所有文件

我想使用下面的代码获取我的资源文件夹中的所有图像 private List getImage() { /* 设定目前所在路径 */ List it=new ArrayList(); File f=new File(“file:///android_asset/”); File[] files=f.listFiles(); Log.d(“tag”, “读取asset资源”); /* 将所有文件存入ArrayList中 */ for(int i=0;i<files.length;i++) { File file=files[i]; if(getImageFile(file.getPath())) it.add(file.getPath()); } return it; } private boolean getImageFile(String fName) { boolean re; /* 取得扩展名 */ String end=fName.substring(fName.lastIndexOf(".")+1, fName.length()).toLowerCase(); /* 按扩展名的类型决定MimeType */ if(end.equals("jpg")||end.equals("gif")||end.equals("png") ||end.equals("jpeg")||end.equals("bmp")) { re=true; } else { […]

如何在发布APK中添加库中轻松删除不必要的本地化资源

我的应用程序非常简单,不需要很多本地化。 我提供默认语言(英语)和德语 – 这是我想要和将来提供的所有内容,因为该应用程序完全专注于德国。 正如我最近添加的Google Play服务库,我面临的问题是我的应用程序中添加了56(!!!)其他语言,正如Google Play商店告诉我的那样。 原因是:该库附带了许多我不希望在我的应用程序中使用的语言资源。 如果Google Play对话框以法语popup,其余部分仅为英语/德语,则没有任何意义。 我不想手动删除库项目中的资源,这很繁琐且容易出错。 另外,也许我会有另一个应用程序依赖于同一个库,我想要更多的语言? 那么 – 我怎么能做到这一点? 谢谢!

在Android应用程序中加载资源时启动屏幕

我想在加载资源(图像和声音)时有一个闪屏。 我怎么知道一切都装满了? 是否在应用启动时加载了所有资源? 谢谢

如何访问android库项目中的资源

我正在构建一个内部需要一些静态资源(images / xml等)的android库项目。 然后我想知道我可以把这些资源放在哪里以及如何访问它们? 因为我把资源放在assets文件夹中。 我使用AssetManager来访问资源: public class DataProvider { byte[] getDrawableData(int num) { AssetManager am = Resources.getSystem().getAssets(); InputStream is = null; try { is = am.open(“t.jpg”); } catch (IOException e) { return “”.getBytes(); } if (is != null) { Drawable dw = Drawable.createFromStream(is, null); Bitmap bm = ((BitmapDrawable) dw).getBitmap(); ByteArrayOutputStream stream = new ByteArrayOutputStream(); […]

使用Plurals在ResourcesNotFoundException中结束

我想在我最新的Android项目(SDK9)中使用复数。 它总是以ResourcesNotFoundException结尾。 但资源就在那里 – 绝对: 这是我的strings.xml的一部分: %d file %d files %d files %d folder %d folders %d folders 这是使用它的部分: textView.setText( getResources().getQuantityString(R.plurals.count_folders, countfolders, countfolders) + “, ” + getResources().getQuantityString(R.plurals.count_files, countfiles, countfiles)); 这是例外: android.content.res.Resources$NotFoundException: Plural resource ID #0x7f050001 quantity=0 item=other 我必须保持多达15种不同的语言,因此我需要文本和复数的本地化。 知道我的代码有什么问题吗? 提前谢谢了。

android有* native *支持SVG图像作为可绘制资源(图标)吗?

我正在阅读和观看UI教程。 他们都谈到了你需要了解不同设备尺寸和分辨率的事实。 因此,将图标导出为多种尺寸以支持不同的屏幕密度。 SVG是一个开放标准(W3C),应该用来解决这类问题。 那么我可以原生使用SVG文件作为我的图标的绘图吗? 注意:我不是在谈论浏览器支持。

您可以使用字符串资源定义Android intent-filter吗?

我想在strings.xml文件中定义我的意图的字符串名称,然后将该字符串绑定到intentfilter,如下所示: 然而,当我尝试这个时,我得到关于系统的各种错误可能找不到任何活动来处理我的意图。 我试图将值(即意图名称)保持集中,而不是在清单和代码中进行硬编码。 事实上,至少这让我可以将它从应用程序代码中集中出来,但我仍然在清单中对其进行了硬编码。 这真的不可能做到,还是有办法让它发挥作用?