AndroidManifest中属性说明
AndroidManifest 中original-package标签
@(示例笔记本)[AndroidManifest|original-package|package]
AndroidManifest.xml中:
标签中package属性用于设置应用程序的进程名,即在运行时使用ddms查看到的进程名。 标签用以设置应用源码包名,即Java文件所在的源码程序包层次,android工程中真实的源代码层次结构。
中 package
属性若与的 android:name
值相同,配置组建时android:name
属性值 可以使用".ClassName"形式。 使用标签后,在 中的 android:name
属性需要写完整的包名,".ClassName"形式无效。
注意:
需要注意:
<manifest
xmlns:android="http://schemas.android.com ...
如何让Android应用启动的体验更顺畅
如何让Android应用启动的体验更顺畅
Android 中应用启动的时候,首先会加载一个预览窗口(由Activity 的主题决定的)用于对用户操作的即时响应。一旦真正的内容加载完毕,预览窗口将淡出,内容窗口相应淡入。
Android应用window预览效果是打开的,可以通过android:windowDisablePreview = true
来禁止window预览效果。
为了避免出现白色或黑色界面,可以通过修改activity的theme使启动过程更流畅。
The perfect preview window
如果你的Activity没有ActionBar,那就在Activity 的主题里面禁用掉ActionBar,这样在预览窗口中就不会出现ActionBar了。
另外,因为默认的预览窗口是纯黑色的,如果你的Activity 背景是其他颜色,那么为了启动连贯顺畅,可以通过覆写window的背景颜色实现。如下:
-
自定义主题,修改windowBackground
<style name="Theme.Calculator" parent=“@android:style/Theme.Holo.NoActionBar"> <item name="android:windowBackground”>@android ...
ListView焦点问题
android:descendantFocusability 焦点 父控件与子控件焦点
ListView item包含ImageButton、Button、CheckBox等控件时无法获取焦点,造成点击item无响应。
可以使用android:descendantFocusability="blocksDescendants" 来解决
该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。
属性的值有三种:
- beforeDescendants:viewgroup会优先其子类控件而获取到焦点
- afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
- blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
通常我们用到的是第三种,即在Item布局的根布局加上android:descendantFocusability=”blocksDescendants”的属性就好了
read moreView及TextView属性说明
View属性说明
android:alpha
关联方法: setAlpha(float)
属性说明: 视图透明度,值在0-1之间。0为完全透明,1为完全不透明。
android:background
关联方法: setBackgroundResource(int)
属性说明: 视图背景
android:clickable
关联方法: setClickable(boolean)
属性说明: 视图是否可点击
android:contentDescription
关联方法: setContentDescription(CharSequence)
属性说明: 设置View的备注说明,作为一种辅助功能提供,为一些没有文字描述的View提供说明
android:drawingCacheQuality
关联方法: setDrawingCacheQuality(int)
属性说明: "设置绘图时半透明质量。有可以取以下3个值 auto——默认,由框架决定 high——高质量,使用较高的颜色深度,消耗更多的内存 low ...
Android关于高效显示图片的问题
Android关于高效显示图片的问题
Bitmap的immutable和mutable
Bitmap可以理解为Android里的画布,Canvas是画笔,Paint是画笔属性的设置,View是画图的地方;
图像(Image)有immutable(不可变的)和mutable(可变的)之分,创建自图形的Bitmap是immutable,而给定宽高以及其他一些参数创建的Bitmap是mutable.
//Immutable bitmap
Bitmap temp = BitmapFactory.decodeFile("/sdcard/xxx.jpg");
Bitmap immutable = Bitmap.createBitmap(temp);
//mutable bitmap
Bitmap mutalbe = Bitmap.createBitmap(240, 320, Bitmap.Config.RGB_565);
在使用Canvas canvas = new Canvas(bitmap);
时,传入的参数只能是mutable的bitmap.
BitmapFactory.Options ...
read moreAndroid.mk 文件的编写
Android.mk 文件的编写
Android.mk 文件通常以以下两行代码作为开头:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
这两行代码的作用是:
- 设置当前模块的编译路径为当前文件夹路径。
- 清理(可能由其他模块设置过的)编译环境中用到的变量。
为了方便模块的编译,Build 系统设置了很多的编译环境变量。要编译一个模块,只要在编译之前根据需要设置这些变量然后执行编译即可。它们包括:
- LOCAL_SRC_FILES:当前模块包含的所有源代码文件。
- LOCAL_MODULE:当前模块的名称,这个名称应当是唯一的,模块间的依赖关系就是通过这个名称来引用的。
- LOCAL_C_INCLUDES:C 或 C++ 语言需要的头文件的路径。
- LOCAL_STATIC_LIBRARIES:当前模块在静态链接时需要的库的名称。
- LOCAL_SHARED_LIBRARIES:当前模块在运行时依赖的动态库的名称。
- LOCAL_CFLAGS:提供给 C/C++ 编译器的额外编译参数。
- LOCAL_JAVA_LIBRARIES:当前模块依赖的 Java 共享库。
- LOCAL_STATIC_JAVA_LIBRARIES:当前模块依赖的 Java ...