縮略圖android
❶ Android開發一個視頻播放器,播放列表中有視頻縮略圖,文件名,路徑,時間,大小,怎麼讓他們放在一個
這個問題本身不難,你貼一堆代碼這么亂怎麼看?
要實現這樣的功能呢,建議你自定義一個adapter繼承自BaseAdapter,然後在getView方法里,
載入一個item布局,這個item布局可以包含imageView,自己寫一個就好。
自定義的adapter可以設置數據源,構造方法中可以加上一個list map數據源,
獲取到數據源之後傳進來,根據position設置好對應數據就好了。
❷ android luancher的folder桌面的縮略圖怎麼形成的
就是folderinfo封裝的數據 然後通過foldericon繪制出來的。
具體可以從launcher的bindfolder 回調開始看起。
你可以研究一下
❸ Android系統root後,存儲媒體庫中視頻的縮略圖的文件夾在哪裡
這個好弄的,有兩種方法,一種是裝一個安卓優化大師,點垃圾清理,然後一鍵清理緩存垃圾即可。另一種是用自帶的文件管理器或下載的打開sdcard/DCIM/.thumbnails。這裡面都是緩存文件,都可以刪的。覺得好用的請採納哦
❹ android4.4 中如何獲取最近應用的縮略圖
最近有項需求是獲取應用的縮略,用於在動畫時顯示。因此就對此塊知識簡要了解了一下。
在android中獲取視頻文件的縮略圖有三種方法:
1.從媒體庫中查詢
新視頻增加後需要SDCard重新掃描才能給新增加的文件添加縮略圖,靈活性差,而且不是很穩定,適合簡單應用
2. android 2.2以後使用ThumbnailUtils類獲取
實現簡單,但2.2以前的版本不支持
3.調用jni文件,實現MediaMetadataRetriever類
實現復雜,但比較靈活,推薦使用
那麼Android 中如何獲取最近應用的縮略圖,這塊也有現成的函數,不過都被 @hide 掉了,所以需要利用java reflect 反射才能使用
核心代碼如下:
package com.example.testondraw;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import android.app.ActivityManager;
import android.graphics.Bitmap;
import android.util.Log;
/**
* 調用隱藏方法的助手類
*/public class HideExploder {
static final String TAG = "HideExploder";
private final static Object refLock = new Object();
private static Method getTaskThumbnails = null;
private static Field taskThumbnailsBitmap = null;
@SuppressWarnings("rawtypes")
public static void listAllObject(String classFullName) {
try {
Log.i(TAG, "listAllObject classFullName: " + classFullName);
Class<?> clazz = Class.forName(classFullName);
// 反射屬性欄位
Field[] fields = clazz.getDeclaredFields();
// 反射方法欄位
Method[] methods = clazz.getDeclaredMethods();
// 反射構造器
Constructor[] constuctors = clazz.getDeclaredConstructors();
Log.i(TAG, "FIELD========");
for (Field f : fields) {
Log.i(TAG, "TYPE: " + f.getType() + " NAME: " + f.getName());
}
Log.i(TAG, "METHOD========");
for (Method m : methods) {
Log.i(TAG, "METHOD NAME: " + m.getName());
}
Log.i(TAG, "CONSTUCTOR========");
for (Constructor c : constuctors) {
Log.i(TAG, "NAME:" + c.getName());
Class[] clss = c.getParameterTypes();
Object o = null;
// 產生實例
try {
if (clss.length == 0)
o = c.newInstance();
else if (clss.length > 0) {
// TODO
}
Log.i(TAG, "object: " + o);
} catch (Exception e) {
e.printStackTrace();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static Bitmap getTaskThumbnailsBitmap(ActivityManager am, int id) {
synchronized (refLock) {
try {
if (getTaskThumbnails == null) {
getTaskThumbnails = am.getClass().getDeclaredMethod(
"getTaskThumbnails", int.class);
}
if (getTaskThumbnails != null) {
Object thumbnails = getTaskThumbnails.invoke(am,
Integer.valueOf(id));
if (thumbnails != null) {
if (taskThumbnailsBitmap == null)
taskThumbnailsBitmap = thumbnails.getClass()
.getField("mainThumbnail");
if (taskThumbnailsBitmap != null) {
return (Bitmap) taskThumbnailsBitmap
.get(thumbnails);
}
}
}
} catch (Exception e) {
Log.w(TAG, "getTaskThumbnailsBitmap error:" + e);
e.printStackTrace();
}
}
return null;
}
}
❺ android涓濡備綍瀹炵幇騫葷伅鐗囬勮堢緝鐣ュ浘
鍦≒PT浜戝睍紺轟笂闈錛屽湪杞鎹㈤〉闈涓涓婁紶鑷宸辯殑PPT鏂囦歡騫剁暀涓嬫墜鏈哄彿錛屾彁浜ゅ嚑鍒嗛挓鍚庡氨浼氭敹鍒拌漿鎹㈡垚鍔熺殑鐭淇°傚氨鍙浠ュ湪鎵嬫満涓婃挱鏀炬祦鐣呭睍紺簆pt銆
鐢靛瓙騫葷伅鐗囷紝浜︾О婕旂ず鏂囩褲佺畝鎶ワ紝鏄涓縐嶇敱鏂囧瓧錛屽浘鐗囩瓑錛屽埗浣滃嚭鏉ュ姞涓婁竴浜涚壒鏁堝姩鎬佹樉紺烘晥鏋滅殑鍙鎾鏀炬枃浠躲
涓昏佺敤浜庤捐″埗浣滃箍鍛婂d紶琛¤牏銆佷駭鍝佹紨紺虹殑鐢靛瓙鐗堝夠鐏鐗囷紝鍒朵綔鐨勬紨紺烘枃紼垮彲浠ラ氳繃璁℃槬鎷︽暚綆楁満灞忓箷鎴栬呮姇褰辨満鎾鏀撅紱鍒╃敤PowerPoint鎴栨槸Keynote浜︽垨鏄疧penOffice錛屼笉浣嗗彲浠ュ壋寤烘紨紺烘枃紼匡紝榪樺彲浠ュ湪浜掕仈緗戜笂鍙寮闈㈠歸潰浼氳銆佽繙紼嬩細璁鎴栧湪Web涓婄粰瑙備紬灞曠ず婕旂ず鏂囩褲傞殢鐫鍔炲叕鑷鍔ㄥ寲鐨勬墥鎱庢櫘鍙婏紝PowerPoint涓嶬eynote鐨勫簲鐢ㄨ秺鏉ヨ秺騫褲
❻ Android 中用ThumbnailUtils 獲取手機視頻文件縮略圖出錯
旋轉90°就好了:
Bitmapbitmap=BitmapFactory.decodeFile(mCurrentPhotoPath,bmOptions);
Matrixmtx=newMatrix();
mtx.postRotate(90);
//RotatingBitmap
BitmaprotatedBMP=Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),mtx,true);