android开发中的一些问题

一、assets和res目录的区别
java

创建一个Android项目后会产生assets与res的两个文件夹,理论上他们都是存放资源的文件夹,那么他们到底有什么区别呢?android

1.assets:不会在R.java文件下生成相应的标记id,存放到这里的资源在运行打包的时候都会打入程序安装包中ide

2.res:会在R.java文件下生成标记id,这里的资源会在运行打包操做的时候判断哪些被使用到了,没有被使用到的文件资源是不会打包到安装包中的。动画

在res文件夹下其实还能够定义一下目录:spa

res/anim:这里存放的是动画资源。code

res/xml:能够在Activity中使用getResource().getXML()读取这里的资源文件xml

res/raw:该目录下的文件能够直接复制到设备上,编译软件时,这里的数据不须要编译,直接加入到程序安装包中,使用方法是getResource().OpenRawResources(ID),其中参数ID的形式是R.raw.XXX.事件

二、模态和非模态Dialog资源

android中都是模态的,没有非模态说法,除非本身实现。get

dialog.setCanceledOnTouchOutside() 用来控制点击dialog是否能够关闭对话框。


三、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;
            }
        });



持续更新中。。。

相关文章
相关标签/搜索