由于Android 4.3,我们现在可以利用这些res/mipmap文件夹来存储“mipmap”图像。
例如Android版Chrome将其图标存储在这些文件夹中,而不是更常规的res/drawable文件夹。
这些mipmap图像如何与其他熟悉的可绘制图像不同?
我看到,在我的清单中,我们使用@mipmap/限定符,而不是@drawable/,这是有道理的资源文件夹名称:
<activity
android:name=".MipmapDemp"
android:icon="@mipmap/ic_launcher" />
参考文献:
在Android 4.3的API的文档具有下面要说:
使用mipmap作为位图或绘图的源代码是一种提供高质量图像和各种图像比例的简单方法,如果您期望在动画期间缩放图像,那么这种方法特别有用。
Android 4.2(API级别17)在Bitmap类中添加了对mipmap的支持 - 当您提供mipmap源并已启用setHasMipMap()时,Android会在您的位图中交换mip图像。现在在Android 4.3中,通过提供mipmap资源并在位图资源文件中或通过调用hasMipMap()来设置android:mipMap属性,您也可以为BitmapDrawable对象启用mipmap。
我没有看到有什么能帮助我理解的东西?
XML位图资源有一个android:mipMap属性:
布尔。启用或禁用mipmap提示。有关更多信息,请参阅setHasMipMap()。默认值是false。
就我所见,这并不适用于启动器图标。
在Google Groups(资源名称“mipmap”?!的目的)上提出了这个问题,Romain Guy回答说:
以更大的分辨率提供一个通常可以计算出来的图像是很有用的(例如,在一个mdpi设备上,启动器可能希望较大的hdpi图标显示较大的应用程序快捷方式)。
我觉得这几乎是有意义的,但不完全。
我仍然倾向于跟随兰迪·苏比安诺(Randy Sugianto)的跟进:
这有什么好处?有没有指导如何使用mipmap,可能是更好的图标?
不幸的是clang_Cursor_isAnonymous
中的clang源代码中可以看到,只适用于结构和联合。工具/libclang/CXType.cpp
unsigned clang_Cursor_isAnonymous(CXCursor C){
if (!clang_isDeclaration(C.kind))
return 0;
const Decl *D = cxcursor::getCursorDecl(C);
if (const RecordDecl *FD = dyn_cast_or_null<RecordDecl>(D))
return FD->isAnonymousStructOrUnion();
return 0;
}
所以撤退到conf.lib.clang_Cursor_isAnonymous
在clang.cindex.Cursor.is_anonymous不做任何新的操作,因为游标类型已经在字段中被选中。[医]Decl(只适用于结构和联合)
def is_anonymous(self):
"""
Check if the record is anonymous.
"""
if self.kind == CursorKind.FIELD_DECL:
return self.type.get_declaration().is_anonymous()
return conf.lib.clang_Cursor_isAnonymous(self)
您可以尝试提取当前元素的标识符(n)并检查它是否存在或为空。