編輯:關於Android編程
圖片異步加載。可以備注圖片是否緩存、緩存狀態。
1、緩存-SD卡,路徑可設置
2、圖片壓縮
3、可加載本地和網絡圖片
4、url為本地視頻文件可以顯示縮略圖
5、中文url圖片地址FileNotFoundException解決
1 EditText input = (EditText) findViewById(R.id.input); 2 ImageView img = (ImageView) findViewById(R.id.img); 3 RadioButton radio1 = (RadioButton) findViewById(R.id.radio1); 4 RadioButton radio2 = (RadioButton) findViewById(R.id.radio2); 5 RadioButton radio3 = (RadioButton) findViewById(R.id.radio3); 6 String url = input.getText().toString(); 7 ImageTask task = new ImageTask(img,"/mnt/sdcard/",new ImageTaskListener() { 8 9 @Override 10 public void onTaskOver(ImageView img) { 11 // TODO Auto-generated method stub 12 Log.e("loadImg", "圖片下載完成"); 13 } 14 15 @Override 16 public void onDownloading(int max, int progress) { 17 Log.e("loadImg", "圖片下載進度:" + progress + "/" + max); 18 } 19 }); 20 ImageTaskOpion option = task.getImageTaskOpion(); 21 option.setAutoVisibility(radio1.isChecked()); 22 option.setOverlap(radio2.isChecked()); 23 option.setAutoCompress(radio3.isChecked()); 24 task.setOption(option); 25 task.execute(url);
以上是框架裡面的代碼。
下面看看如何在自己的代碼裡面進行調用。
1 public class ImageTaskActivity extends Activity implements OnClickListener { 2 3 4 5 @Override 6 protected void onCreate(Bundle savedInstanceState) { 7 super.onCreate(savedInstanceState); 8 setContentView(R.layout.activity_image_task); 9 } 10 11 @Override 12 public void onClick(View v) { 13 switch(v.getId()){ 14 case R.id.btnExecute: 15 loadImg(); 16 break; 17 } 18 19 } 20 21 private void loadImg(){ 22 EditText input = (EditText) findViewById(R.id.input); 23 ImageView img = (ImageView) findViewById(R.id.img); 24 RadioButton radio1 = (RadioButton) findViewById(R.id.radio1); 25 RadioButton radio2 = (RadioButton) findViewById(R.id.radio2); 26 RadioButton radio3 = (RadioButton) findViewById(R.id.radio3); 27 String url = input.getText().toString(); 28 ImageTask task = new ImageTask(img,"/mnt/sdcard/",new ImageTaskListener() { 29 30 @Override 31 public void onTaskOver(ImageView img) { 32 // TODO Auto-generated method stub 33 Log.e("loadImg", "圖片下載完成"); 34 } 35 36 @Override 37 public void onDownloading(int max, int progress) { 38 Log.e("loadImg", "圖片下載進度:" + progress + "/" + max); 39 } 40 }); 41 ImageTaskOpion option = task.getImageTaskOpion(); 42 option.setAutoVisibility(radio1.isChecked()); 43 option.setOverlap(radio2.isChecked()); 44 option.setAutoCompress(radio3.isChecked()); 45 task.setOption(option); 46 task.execute(url); 47 48 } 49 50 }
DEMO文件的運行效果:
因為company項目中需要做九宮格抽獎活動,以前都沒有做過類似的功能,雖然之前在浏覽大神們的博客中,無意中也看到了好多關於抽獎的項目,但因為項目中沒有需要,一直都沒有點
寫在前面 上周把基於Redux的單頁應用開發完 緊接著就開始了ReactNative的開發。真的快得不可思議,只花了一周時間,我們兩個人就分工把APP也開發完了,並且同時
效果圖如下:默認第一次加載選擇原始隊列:級聯效果圖:關鍵代碼給下拉列表選中事件監聽綁定Id :復制代碼 代碼如下:int pos = firsthand_dlbh_pin
簡介NineoldAndroids是Github上一個著名的動畫庫,簡單來說,NineOldAndroids是一個向下兼容的動畫庫,主要是使低於API 11的系統也能夠使