1、assets和res目录的区别
建立一个Android项目后会产生assets与res的两个文件夹,理论上他们都是存放资源的文件夹,那么他们到底有什么区别呢?
1.assets:不会在R.java文件下生成相应的标记id,存放到这里的资源在运行打包的时候都会打入程序安装包中
2.res:会在R.java文件下生成标记id,这里的资源会在运行打包操作的时候判断哪些被使用到了,没有被使用到的文件资源是不会打包到安装包中的。
在res文件夹下其实还可以定义一下目录:
res/anim:这里存放的是动画资源。
res/xml:可以在Activity中使用getResource().getXML()读取这里的资源文件
res/raw:该目录下的文件可以直接复制到设备上,编译软件时,这里的数据不需要编译,直接加入到程序安装包中,使用方法是getResource().OpenRawResources(ID),其中参数ID的形式是R.raw.XXX.
2、模态和非模态Dialog
android中都是模态的,没有非模态说法,除非自己实现。
dialog.setCanceledOnTouchOutside() 用来控制点击dialog是否可以关闭对话框。
3、onClick和onLongClick的冲突
同一个控件同时设置这两个事件时在长按时容易同时触发这两个事件 ,只需在onLongclick的里面return true即可
naveTv = (TextView) view.findViewById(R.id.nav_tv); naveTv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getActivity(), UserActivity.class); startActivity(intent); } }); naveTv.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { Toast.makeText(getActivity(), " hello ", Toast.LENGTH_SHORT).show(); return true; } });
持续更新中。。。