android 基礎知識 五

2021-06-17 00:48:09 字數 1857 閱讀 4934

android中view的實時重新整理

做乙個介面時,想在使用者觸控螢幕之後先繪圖一下,待邏輯處理完畢,再繪製最後的圖,檢視view的重繪方法,得知是invalidate()函式,於是在**中這麼寫道:

public class puzzleview extends view

@override

public boolean ontouchevent(motionevent event) }

複製**

執行後發現只有第二次invalidate做了,第一次打醬油去了,於是查詢資料,看到invalidate()的描述是這樣的:當呼叫執行緒處於空閒狀態時,會呼叫ondraw,重新整理介面,也就是說,該函式僅是標記當前介面過期,並不直接負責重新整理介面,奶奶的,不刷。。。繼續翻啊翻,看到su***ceview能實現

實時重新整理,**結構如下:

public class puzzleview extends su***ceview implements su***ceholder.callback

protected void paint(canvas canvas)

public void repaint()

finally

}  }  }

複製**

這樣寫好之後,只要在以前呼叫invalidate()的地方呼叫repaint()就可以實現

android view的

實時重新整理了。

android從路徑中提取檔名

android路徑中

提取檔名,有許多種方法,下面介紹兩種比較好的方法。

方法一:利用string類

public string getfilename(string pathandname)

else }

複製**

方法二:利用正規表示式

string regex = ".+\\\\(.+)$";

string str = "c:\\test.txt";

pattern p = pattern.compile(regex);

matcher m = p.matcher(str);

boolean rs = m.find();

if (rs) }

複製**

android一些實用的函式

1:獲得螢幕的密度,用於螢幕適配

public static float getdensity(context ctx)

複製**

2:獲得版本的名字

public static string getversionname(context context, string packagename)

catch (exception e)

return rs; }

複製**

3:獲得的倒影,同時倒影漸變效果

public static bitmap createmirro(bitmap srcbitmap)

if (y >= (height - shadow_height))

} // invert effect

bitmap bm = bitmap.createbitmap(width, height, bitmap.config.argb_8888);

for (int y = 0; y < height; y++)

return bitmap.createbitmap(bm, 0, 0, width, shadow_height); }

android基礎知識

1.android paint和color類 要繪圖,首先得調整畫筆,待畫筆調整好之後,再將影象繪製到畫布上,這樣才可以顯示在手機螢幕上。android 中的畫筆是 paint類,paint 中包含了很多方法對其屬性進行設定,主要方法如下 setantialias 設定畫筆的鋸齒效果。setcolo...

Android 基礎知識

我們是 h是對應 2560 1440 xxh是對應 1920 1080 1dp 3px xh是對應 1280 720 1dp 2px h是對應 800 480 m是對應 480 320 bg splash.png error failed to read png signature file doe...

Android基礎知識

android 教程 菜鳥教程 android 知識體系文件新增鏈結描述 android 頁面布局 共六種 線性布局linearlayout 布局tablelayout 相對布局relativelayout 層布局framelayout 絕對布局absolutelayout 網格布局gridlayo...