一、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; } });
持續更新中。。。