Android_代碼模板_第1頁(yè)
Android_代碼模板_第2頁(yè)
Android_代碼模板_第3頁(yè)
Android_代碼模板_第4頁(yè)
Android_代碼模板_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Android總結(jié) 孫沛林代碼模板xml布局TextView <TextView android:id="+id/tv_color" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="文本" android:textSize="22sp" />EditText <EditText android:id="+id/ed_url" andr

2、oid:lines="3" android:layout_width="match_parent" android:layout_height="wrap_content" />Button <Button android:id="+id/btn" android:text="卸載" android:textColor="#fff" android:textSize="14sp" android:layout_width="66dp&

3、quot; android:layout_height="30dp" android:background="drawable/btn_selector" android:layout_marginRight="5dp"/> <Button android:id="+id/btn" android:text="按鈕" android:textColor="#000" android:textSize="14sp" android:layout_

4、width="wrap_content" android:layout_height="wrap_content" android:onClick="btnClick" /> public void btnClick(View v) if (v.getId() = R.id.btn) ImageView <ImageView android:id="+id/logo" android:src="drawable/ic_10" android:layout_width="70

5、dp" android:layout_height="70dp" />圖片最小寬高(minWidth, minHeight) <ImageView android:id="+id/img_item" android:minWidth="50dp" android:minHeight="50dp" android:src="drawable/default_image" android:layout_width="wrap_content" android

6、:layout_height="wrap_content"/>ListView <ListView android:id="+id/lv_main" android:layout_width="match_parent" android:layout_height="wrap_content" android:listSelector="drawable/item_selector" />SearchView搜索框 <item android:id="+id/b

7、tn_search" android:title="搜索" android:icon="drawable/title_search_normal" android:showAsAction="ifRoom|collapseActionView" android:actionViewClass="android.widget.SearchView"/>設(shè)置搜索框 MenuItem miSearch = menu.findItem(R.id.btn_search); miSearch.setOnActi

8、onExpandListener(new MenuItem.OnActionExpandListener() Override public boolean onMenuItemActionExpand(MenuItem item) / 展開(kāi) return true; Override public boolean onMenuItemActionCollapse(MenuItem item) / 折疊 updateData();/ 更新數(shù)據(jù) return true; ); / 搜索框 sv = (SearchView) miSearch.getActionView(); sv.setSubm

9、itButtonEnabled(true);/ 顯示按鈕 sv.setOnQueryTextListener(this);/ 點(diǎn)擊"提交按鈕"事件Manifest清單文件權(quán)限 <!- 訪問(wèn)互聯(lián)網(wǎng)-> <uses-permission android:name="android.permission.INTERNET" /> <!- 寫(xiě)入外置設(shè)備-> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"

10、/> <!- 可以建立和刪除文件與文件夾-> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>強(qiáng)制豎屏+隱藏輸入法 <activity android:name=".WeixinActivity" android:screenOrientation="portrait" android:windowSoftInputMode="stateHidden|stateAlwaysHidde

11、n" android:label="string/title_activity_weixin" >java代碼Toast Toast.makeText(this,"",Toast.LENGTH_SHORT).show();顯示Toast public static Context context; public static void init(Context cxt) context = cxt; /* * 短時(shí)間顯示Toast */ public static void show(String msg) Toast.makeText(

12、context, msg, Toast.LENGTH_SHORT).show(); Adapterpublic class MyAdapter extends BaseAdapter /* 數(shù)據(jù)集合 */ List<AppInfo> list; /* 反射器 */ LayoutInflater inflater; public MyAdapter() /* * 構(gòu)造器 * param context 上下文 */ public MyAdapter(Context context) inflater = LayoutInflater.from(context); /* * 傳入數(shù)據(jù)集

13、合 * param list */ public void setList(List<AppInfo> list) this.list = list; Override public int getCount() return (list = null)? 0:list.size(); Override public Object getItem(int position) return list.get(position); Override public long getItemId(int position) return position; Override public

14、View getView(int position, View convertView, ViewGroup parent) ViewHolder holder = null; if (convertView = null) convertView = inflater.inflate(R.layout.item, null); holder = new ViewHolder(); holder.logo = (ImageView) convertView.findViewById(R.id.logo); holder.title = (TextView) convertView.findVi

15、ewById(R.id.title); holder.version = (TextView) convertView.findViewById(R.id.version); holder.size = (TextView) convertView.findViewById(R.id.size); holder.btn = (Button) convertView.findViewById(R.id.btn); convertView.setTag(holder); else holder = (ViewHolder) convertView.getTag(); AppInfo app = l

16、ist.get(position); holder.logo.setImageDrawable(app.icon); holder.title.setText(app.AppName); holder.version.setText("版本 : "+app.versionName); holder.size.setText("大小 : "+app.size + "M"); return convertView; public static class ViewHolder ImageView logo; TextView title;

17、 TextView version; TextView size; Button btn; 帶BitmapUtil的適配器/* * 新聞列表的適配器 */public class NewsAdapter extends BaseAdapter LayoutInflater inflater; List<News> list; BitmapUtils bitmapUtils; public NewsAdapter(Context context) this.inflater = LayoutInflater.from(context); bitmapUtils = Utils.get

18、Instance(); Override public int getCount() return (list = null)? 0:list.size(); Override public Object getItem(int position) return list.get(position); Override public long getItemId(int position) return position; Override public View getView(int position, View convertView, ViewGroup parent) ViewHol

19、der holder = null; if (convertView = null) convertView = inflater.inflate(R.layout.layout_news_item, null); holder = new ViewHolder(); holder.image = (ImageView) convertView.findViewById(R.id.iv_img); holder.title = (TextView) convertView.findViewById(R.id.tv_title); holder.pubdate = (TextView) conv

20、ertView.findViewById(R.id.tv_pub_date); convertView.setTag(holder); else holder = (ViewHolder) convertView.getTag(); News item = list.get(position); bitmapUtils.display(holder.image, item.getListimage(); holder.title.setText(item.getTitle(); holder.pubdate.setText(item.getTitle(); return convertView

21、; public static class ViewHolder ImageView image; TextView title; TextView pubdate; Handler多線程+進(jìn)度條 / 1聲明進(jìn)度框?qū)ο?ProgressDialog pd; / 顯示一個(gè)環(huán)形進(jìn)度框 public void showProgressDialog() pd = new ProgressDialog(MainActivity.this); pd.setProgressStyle(ProgressDialog.STYLE_SPINNER); pd.setTitle("刷新列表");

22、pd.setMessage("請(qǐng)耐心等待"); pd.show(); / 2聲明handler對(duì)象,處理子線程結(jié)束后,UI主線程的更新 Handler handler = new Handler() Override public void handleMessage(Message msg) if (msg.what = 1) updateData_sort(currSort); pd.dismiss();/ 關(guān)閉進(jìn)度框 ; /3.子線程 private void updateData() / 啟動(dòng)新線程,處理耗時(shí)操作 new Thread() public void r

23、un() list = Utils.getAppInfos(MainActivity.this); /耗時(shí)操作 try Thread.sleep(2000);/模擬耗時(shí)操作;真機(jī)測(cè)試時(shí)請(qǐng)注釋掉 catch (InterruptedException e) e.printStackTrace(); handler.sendEmptyMessage(1); .start(); showProgressDialog();/ 顯示進(jìn)度框去標(biāo)題 / 去標(biāo)題 requestWindowFeature(Window.FEATURE_NO_TITLE);保持屏幕常亮 / 保持屏幕常亮 getWindow().

24、setFlags( WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON );初始化View 1.private void initView() tv_info = (TextView) findViewById(R.id.tv_info);2. private void initView() lv = (ListView) findViewById(R.id.lv_main); list = new ArrayList<String>(); ad

25、apter = new MyAdapter(this); lv.setAdapter(adapter); 比較器 / 定義3個(gè)比較器 Comparator<AppInfo> nameComparator = new Comparator<AppInfo>() Override public int compare(AppInfo lhs, AppInfo rhs) return lhs.appName.toLowerCase().compareTo(rhs.appName.toLowerCase(); ;圖片縮略圖 String path = item.path; Bi

26、tmapFactory.Options opt = new BitmapFactory.Options(); opt.inSampleSize = 4; / 縮放因子, 4-1/4 Bitmap bitmap = BitmapFactory.decodeFile(path,opt); holder.icon.setImageBitmap(bitmap);視頻縮略圖 / 生成縮略圖 Thumbnails.MICRO_KIND(最小的縮略圖) Bitmap bitmap = ThumbnailUtils.createVideoThumbnail(item.path, MediaStore.Vide

27、o.Thumbnails.MICRO_KIND); holder.icon.setImageBitmap(bitmap);/ 設(shè)定ImageView的Bitmap確認(rèn)對(duì)話框 new AlertDialog.Builder(this) .setTitle("確認(rèn)信息") .setMessage("確認(rèn)下載圖片嗎?") .setNeutralButton("取消",null) .setPositiveButton("確定",new DialogInterface.OnClickListener() Override p

28、ublic void onClick(DialogInterface dialog, int which) ) .show();設(shè)置Home為返回鍵 /設(shè)置Home為返回鍵,返回之前的Activity getActionBar().setDisplayHomeAsUpEnabled(true); / android.R是系統(tǒng)資源 if (id = android.R.id.home) finish();/ 關(guān)閉界面 return true; BitmapUtils的單例獲取 / 單例模式 private static BitmapUtils bitmapUtils; public static

29、 BitmapUtils getBitmapUtils(Context appContext) if (bitmapUtils = null) bitmapUtils = new BitmapUtils(appContext); return bitmapUtils;BitmapUtils單例模式 private static BitmapUtils bitmapUtils = null; public static BitmapUtils getInstance() if (bitmapUtils = null) bitmapUtils = new BitmapUtils(context);

30、 bitmapUtils.configDefaultLoadingImage(R.drawable.ic_launcher); bitmapUtils.configDefaultLoadFailedImage(R.drawable.ic_launcher); bitmapUtils.configDefaultBitmapConfig(Bitmap.Config.RGB_565); bitmapUtils.configMemoryCacheEnabled(false); bitmapUtils.configDiskCacheEnabled(true); return bitmapUtils; 配

31、置bitmapUtilspublic void configBitmapUtils() / 加載中的圖片bitmapUtils.configDefaultLoadingImage(R.drawable.default_image);/ 加載失敗的圖片bitmapUtils.configDefaultLoadFailedImage(R.drawable.default_image);/ 設(shè)置圖片的壓縮格式bitmapUtils.configDefaultBitmapConfig(Bitmap.Config.RGB_565);/ 沒(méi)有透明效果的16位色/ 打開(kāi)內(nèi)存緩存(程序運(yùn)行)bitmapUti

32、ls.configMemoryCacheEnabled(false);/ 不推薦/ 打開(kāi)磁盤緩存(SDCard)bitmapUtils.configDiskCacheEnabled(true);/ 離線后可訪問(wèn) / bitmapUtils.configDefaultAutoRotation(true);/ 設(shè)置圖片自動(dòng)可旋轉(zhuǎn)/ 設(shè)置最大寬高, 不設(shè)置時(shí)更具控件屬性自適應(yīng).bitmapUtils.configDefaultBitmapMaxSize(BitmapCommonUtils.getScreenSize(this).scaleDown(3);/ 滑動(dòng)時(shí)加載圖片,快速滑動(dòng)時(shí)不加載圖片/ i

33、mageListView.setOnScrollListener(new/ PauseOnScrollListener(bitmapUtils, false, true);顯示單張圖片(詳細(xì)頁(yè)面)的代碼 iv_img = (ImageView) findViewById(R.id.iv_img); url = getIntent().getStringExtra("url"); bitmapUtils = Utils.getBitmapUtils(this); BitmapDisplayConfig bigPicDisplayConfig = new BitmapDispl

34、ayConfig(); /bigPicDisplayConfig.setShowOriginal(true); / 顯示原始圖片,不壓縮, 盡量不要使用, 圖片太大時(shí)容易OOM。 bigPicDisplayConfig.setBitmapConfig(Bitmap.Config.RGB_565); bigPicDisplayConfig.setBitmapMaxSize(BitmapCommonUtils.getScreenSize(this); BitmapLoadCallBack<ImageView> callback = new DefaultBitmapLoadCallBa

35、ck<ImageView>() Override public void onLoadStarted(ImageView container, String uri, BitmapDisplayConfig config) super.onLoadStarted(container, uri, config); Override public void onLoadCompleted(ImageView container, String uri, Bitmap bitmap, BitmapDisplayConfig config, BitmapLoadFrom from) sup

36、er.onLoadCompleted(container, uri, bitmap, config, from); /顯示圖片的地址和大小 int w = bitmap.getWidth(); int h = bitmap.getHeight(); T.show_long(url+"("+w+"*"+h+")"); ; bitmapUtils.display(iv_img,url, bigPicDisplayConfig, callback);設(shè)置本地圖片為壁紙 /* * 設(shè)置桌面背景 */ private void putWallp

37、aper(Bitmap bitmap) try WallpaperManager wallpaperManager = WallpaperManager.getInstance(this); wallpaperManager.setBitmap(bitmap); catch (IOException e) String msg = "設(shè)置桌面背景發(fā)生異常:" + e.getLocalizedMessage(); Log.e("spl", "設(shè)置桌面背景發(fā)生異常!", e); T.show(msg); / 點(diǎn)擊設(shè)置壁紙按鈕 public

38、 void btn_wall(View v) final String path = imgIdsiIndex; /彈框 new AlertDialog.Builder(this) .setTitle("確認(rèn)信息") .setMessage("將當(dāng)前圖片" + path + "設(shè)為壁紙嗎?") .setNeutralButton("取消", null) .setPositiveButton("確定", new DialogInterface.OnClickListener() Override

39、public void onClick(DialogInterface dialog, int which) Bitmap bitmap = BitmapFactory.decodeFile(path); putWallpaper(bitmap); T.show("設(shè)置壁紙成功"); ) .show(); 分享圖片 / 點(diǎn)擊分享圖片按鈕 public void btn_share(View v) / 實(shí)例化意圖 Intent intent = new Intent(); / 添加動(dòng)作(干什么?) intent.setAction(android.content.Intent

40、.ACTION_VIEW); / 取得絕對(duì)路徑 String path = imgIdsiIndex; / 取得文件 File file = new File(path); / 文件存在 if (file.exists() / 是個(gè)圖片 intent.setDataAndType(Uri.fromFile(file), "image/*");/MIME TYPE / 發(fā)送意圖 this.startActivity(intent); 顯示一個(gè)環(huán)形進(jìn)度框 / 1聲明進(jìn)度框?qū)ο?ProgressDialog pd; / 顯示一個(gè)環(huán)形進(jìn)度框 public void showProg

41、ressDialog() pd = new ProgressDialog(MainActivity.this); pd.setProgressStyle(ProgressDialog.STYLE_SPINNER); pd.setTitle("系統(tǒng)提示"); pd.setMessage("正在獲取數(shù)據(jù),請(qǐng)耐心等待."); pd.show(); HttpUtils獲取網(wǎng)頁(yè)內(nèi)容(獲取json) /* * 傳入一個(gè)URL, 返回頁(yè)面內(nèi)容 * param url */ private void getHTML(String url) showProgressDia

42、log(); new HttpUtils().send( HttpRequest.HttpMethod.GET, url, new RequestCallBack<String>() Override public void onSuccess(ResponseInfo<String> responseInfo) String html = responseInfo.result; tv_info.setText(html); pd.dismiss(); Override public void onFailure(HttpException e, String s)

43、tv_info.setText(s); pd.dismiss(); ); 聚合數(shù)據(jù)的網(wǎng)址接口(微信精選) / AppKey public static final String AppKey = "c261130730787d277e7416d98d67fff4" Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); / 聚合數(shù)據(jù)的網(wǎng)址

44、接口(微信精選) String url = " getHTML(url); 兩次點(diǎn)擊退出private long mExitTime; Override public void onBackPressed() if (System.currentTimeMillis() - mExitTime) > 2000) Toast.makeText(this, "在按一次退出", Toast.LENGTH_SHORT).show(); mExitTime = System.currentTimeMillis(); else finish(); Welcome開(kāi)機(jī)歡迎

45、界面package com.topnews;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.animation.AlphaAnimation;import android.view.animation.Animation;import android.view.animation.Animation.AnimationListener;public class Welcome extends Activity private AlphaAnimation start_anima;View view;Overrideprotected void onCreate(Bundle savedInstanceState) / TODO Auto-generated method stubsuper.onCreate(savedInstanceState);view = View.inflate(this, R.layout.welcome, null);setContentView(view);initVie

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論