缩略图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);