Articles of android resources

在使用Android O的“android:fontFamily”时获取错误“文件名必须以.xml结尾”?

Android O引入了一项新function,即XML中的字体,它允许您将字体用作资源。 我正在Android资源文件中创建font文件夹,因为它是由Android开发人员提供的,但问题是我在使用Android O版本中提供的font文件夹时收到file name must end with .xml错误。 请检查以下布局。 请使用Montserrat_Regular.otf文件检查我在res创建的font文件夹 使用上面的内容时出现以下错误,如下所示: 我搜索过它但没有得到预期的结果,请检查: 1.第一链接 2.第二链接 3.第三链接 4. Forth Link 并且Font resource file未创建,因为我单击Right-click the font folder and go to New > Font resource file 。 但是没有获得Font resource file的选项,请查看以下内容:

如何知道哪个手机支持哪种布局(hdpi,mdpi和xhpi)?

我对如何确定哪些手机支持哪种布局types感到困惑。 我做了一些研究,但没有find令人满意的答案。 例如,我find了以下指南: xlarge screens are at least 960dp x 720dp large screens are at least 640dp x 480dp normal screens are at least 470dp x 320dp small screens are at least 426dp x 320dp 但是,我仍有一些担忧: 三星宏伟(480 * 800)和HTC野火S(320 * 480)都支持MDPI。 这些屏幕具有非常不同的分辨率,但具有相同的布局types? Galaxy note 2(1280 * 720)支持HDPI。 如果HD(720p)只是HDPI,那么什么设备/分辨率支持XHDPI? 我已经在这里问了一个相关的问题: 如何在7“两种不同的平板电脑上设置布局? 然而,我最重要的问题是: 我如何知道哪种设备或屏幕分辨率支持每种布局types?

是否可以在Android库项目中读取没有上下文引用的原始文本文件

我可以将文本文件放在文件夹res \ raw的库项目中,但是阅读它似乎需要一个Context引用。 谁能对此有所了解?

如何自定义FloatingActionButton的大小

FloatingActionButton默认有两种尺寸(普通和迷你)。 我需要另一个(大于正常)。 app:fabSize来自xml的app:fabSize参数变为private int mSize; FloatingActionButton类中的variables。 实际大小将由此函数确定: final int getSizeDimension() { switch(this.mSize) { case 0: default: return this.getResources().getDimensionPixelSize(dimen.fab_size_normal); case 1: return this.getResources().getDimensionPixelSize(dimen.fab_size_mini); } } 因为它被宣布为最终我无法扩展它。 有任何想法吗? 也许我可以在我的应用程序中重新定义dimen.fab_size_mini资源?

Android,引用R.drawable中的东西。 使用variables?

说我想根据字符串的值在R.drawable.*动态加载图像文件 有没有办法做到这一点? 好像我需要静态引用R.任何东西R.

可绘制资源文件夹中的子文件夹?

我想在drawable文件夹中创建子文件夹。 我在drawable文件夹中有很多文件(例如png,xml)。 我想在那里创建子文件夹以轻松find文件。 我可以创建这样的子文件夹吗? 谢谢。

Android库项目:混淆并保留资源

我想用Proguard我的Android项目和一些额外的Android库项目进行编译。 实际上,大多数代码和资源都存在于这些库中。 我在主项目的project.properties中添加了行“proguard.config = proguard.cfg”,我已经配置了cfg-file(-libraryjars .. \ libs)。 然后 – 右键单击​​,Android工具 – >导出签名的应用程序包。 ADT编译项目发布但应用程序在第一次启动时崩溃:当我从日志中读取时,这是因为错误的资源指针。 我已反编译项目并发现非常奇怪的事情:如果我在库中声明资源,那么它上面的资源指针变为0。 当我将“proguard.config = proguard.cfg”行添加到我所有Android库项目的project.properties中时,问题并未消失。 有解决方案? 编辑:查看proguard.cfg的片段: -optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -optimizations ! -printusage unused.txt -optimizationpasses 2 -printmapping mapping.txt # -overloadaggressively -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -dump class_files.txt -printseeds seeds.txt -libraryjars ..\libs

使用资产或res / raw文件夹时是否存在重大差异或限制?

背景 该应用程序的某些文件只能存储在res / raw或assets文件夹中。 每个文件夹的工作方式与另一个文件夹的工作方式非常相似。 res / raw文件夹允许更轻松地访问文件,具有资源文件的所有其他好处,而资产文件夹允许访问它们,无论文件名和结构如何(包括文件夹和子文件夹)。 加载文件的主要思想对于它们来说大致相同。 您可以选择易用性,具体取决于您的需求。 问题 我记得很久以前,我发现这两个文件夹都有一些特殊的行为: assets文件夹中的每个文件夹都有最大数量的文件。 我认为这是500左右,但不确定。 我很久以前就注意到了这种行为, 有人说资产文件夹中的文件具有文件的最大大小(例如此处 )。 我从未见过这样的限制。 当时甚至不在Android 2.3上。 有人说( 这里的例子),即使在今天(例如这里 )仍然相信,如果从res / raw加载文件,它可能比从assets文件夹中获取文件需要更多的内存。 我试过的 对于#1,在我工作的项目之后,我从来没有使用过更多的文件,在我工作的时候,我们只是将文件分成更多的文件夹。 对于#2,正如我写的那样,我从来没有注意到它。 我使用了更大的文件大小。 对于#3,我尝试制作一个示例项目,比较两种方法之间的内存使用情况。 我没有注意到两种方法之间的任何差异(内存使用或加载时间)。 特别是不是主要的。 可悲的是,我只有一个设备(Nexus 5x),它有一个新的Android版本(8.1)。 可能是从特定的Android版本开始,两种方法之间没有区别。 另一个原因是,由于GC,测量Java的内存使用量更难,而且我已经注意到在Android 8.x上,内存的工作方式与之前有所不同( 在此处编写)。 我试着读一下上面的差异和限制,但我发现的都是非常古老的文章,所以我认为事情可能会发生变化。 问题 实际上这只是一个问题,但我想分解它,以防答案很复杂: 使用res / raw和assets文件夹之间是否有任何重大或独特的限制或差异? 从assets文件夹中读取文件(通过从中创建输入流)确实比使用res / raw占用更少的内存吗? 即使是现在,即使是最受赞赏的开发商之一( 这里 )也决定选择它? 上述限制是否存在特定的Android版本,然后它们在没有任何限制方面变得相同(当然文件命名为res / raw,但这只是它的工作方式)? 如果是这样,他们从哪个Android版本开始工作呢?

动态Android应用程序本地化

我在这里读到Android应用程序中的本地化是通过随应用程序部署的XML文件进行的。 是否可以在运行时将这些XML文件动态加载到应用程序中? 如果没有,是否有可能覆盖UI XML和资源XML之间的绑定,以便我可以绑定到我自己的,动态加载的XML文件而不是res/values ? 谢谢

特定产品的Android资源

我从设置应用程序中获取此代码… About tablet About phone 那么我的问题是: 从运行时的系统加载正确的字符串资源? 我该怎么做才能添加新产品? 例如 About laptop