Android_代码模板_第1页
Android_代码模板_第2页
Android_代码模板_第3页
Android_代码模板_第4页
Android_代码模板_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Android总结 孙沛林代码模板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"/>设置搜索框 MenuItem miSearch = menu.findItem(R.id.btn_search); miSearch.setOnActi

8、onExpandListener(new MenuItem.OnActionExpandListener() Override public boolean onMenuItemActionExpand(MenuItem item) / 展开 return true; Override public boolean onMenuItemActionCollapse(MenuItem item) / 折叠 updateData();/ 更新数据 return true; ); / 搜索框 sv = (SearchView) miSearch.getActionView(); sv.setSubm

9、itButtonEnabled(true);/ 显示按钮 sv.setOnQueryTextListener(this);/ 点击"提交按钮"事件Manifest清单文件权限 <!- 访问互联网-> <uses-permission android:name="android.permission.INTERNET" /> <!- 写入外置设备-> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"

10、/> <!- 可以建立和删除文件与文件夹-> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>强制竖屏+隐藏输入法 <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; /* * 短时间显示Toast */ public static void show(String msg) Toast.makeText(

12、context, msg, Toast.LENGTH_SHORT).show(); Adapterpublic class MyAdapter extends BaseAdapter /* 数据集合 */ List<AppInfo> list; /* 反射器 */ LayoutInflater inflater; public MyAdapter() /* * 构造器 * param context 上下文 */ public MyAdapter(Context context) inflater = LayoutInflater.from(context); /* * 传入数据集

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多线程+进度条 / 1声明进度框对象 ProgressDialog pd; / 显示一个环形进度框 public void showProgressDialog() pd = new ProgressDialog(MainActivity.this); pd.setProgressStyle(ProgressDialog.STYLE_SPINNER); pd.setTitle("刷新列表");

22、pd.setMessage("请耐心等待"); pd.show(); / 2声明handler对象,处理子线程结束后,UI主线程的更新 Handler handler = new Handler() Override public void handleMessage(Message msg) if (msg.what = 1) updateData_sort(currSort); pd.dismiss();/ 关闭进度框 ; /3.子线程 private void updateData() / 启动新线程,处理耗时操作 new Thread() public void r

23、un() list = Utils.getAppInfos(MainActivity.this); /耗时操作 try Thread.sleep(2000);/模拟耗时操作;真机测试时请注释掉 catch (InterruptedException e) e.printStackTrace(); handler.sendEmptyMessage(1); .start(); showProgressDialog();/ 显示进度框去标题 / 去标题 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个比较器 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);/ 设定ImageView的Bitmap确认对话框 new AlertDialog.Builder(this) .setTitle("确认信息") .setMessage("确认下载图片吗?") .setNeutralButton("取消",null) .setPositiveButton("确定",new DialogInterface.OnClickListener() Override p

28、ublic void onClick(DialogInterface dialog, int which) ) .show();设置Home为返回键 /设置Home为返回键,返回之前的Activity getActionBar().setDisplayHomeAsUpEnabled(true); / android.R是系统资源 if (id = android.R.id.home) finish();/ 关闭界面 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);/ 设置图片的压缩格式bitmapUtils.configDefaultBitmapConfig(Bitmap.Config.RGB_565);/ 没有透明效果的16位色/ 打开内存缓存(程序运行)bitmapUti

32、ls.configMemoryCacheEnabled(false);/ 不推荐/ 打开磁盘缓存(SDCard)bitmapUtils.configDiskCacheEnabled(true);/ 离线后可访问 / bitmapUtils.configDefaultAutoRotation(true);/ 设置图片自动可旋转/ 设置最大宽高, 不设置时更具控件属性自适应.bitmapUtils.configDefaultBitmapMaxSize(BitmapCommonUtils.getScreenSize(this).scaleDown(3);/ 滑动时加载图片,快速滑动时不加载图片/ i

33、mageListView.setOnScrollListener(new/ PauseOnScrollListener(bitmapUtils, false, true);显示单张图片(详细页面)的代码 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); / 显示原始图片,不压缩, 尽量不要使用, 图片太大时容易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);设置本地图片为壁纸 /* * 设置桌面背景 */ private void putWallp

37、aper(Bitmap bitmap) try WallpaperManager wallpaperManager = WallpaperManager.getInstance(this); wallpaperManager.setBitmap(bitmap); catch (IOException e) String msg = "设置桌面背景发生异常:" + e.getLocalizedMessage(); Log.e("spl", "设置桌面背景发生异常!", e); T.show(msg); / 点击设置壁纸按钮 public

38、 void btn_wall(View v) final String path = imgIdsiIndex; /弹框 new AlertDialog.Builder(this) .setTitle("确认信息") .setMessage("将当前图片" + path + "设为壁纸吗?") .setNeutralButton("取消", null) .setPositiveButton("确定", new DialogInterface.OnClickListener() Override

39、public void onClick(DialogInterface dialog, int which) Bitmap bitmap = BitmapFactory.decodeFile(path); putWallpaper(bitmap); T.show("设置壁纸成功"); ) .show(); 分享图片 / 点击分享图片按钮 public void btn_share(View v) / 实例化意图 Intent intent = new Intent(); / 添加动作(干什么?) intent.setAction(android.content.Intent

40、.ACTION_VIEW); / 取得绝对路径 String path = imgIdsiIndex; / 取得文件 File file = new File(path); / 文件存在 if (file.exists() / 是个图片 intent.setDataAndType(Uri.fromFile(file), "image/*");/MIME TYPE / 发送意图 this.startActivity(intent); 显示一个环形进度框 / 1声明进度框对象 ProgressDialog pd; / 显示一个环形进度框 public void showProg

41、ressDialog() pd = new ProgressDialog(MainActivity.this); pd.setProgressStyle(ProgressDialog.STYLE_SPINNER); pd.setTitle("系统提示"); pd.setMessage("正在获取数据,请耐心等待."); pd.show(); HttpUtils获取网页内容(获取json) /* * 传入一个URL, 返回页面内容 * 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(); ); 聚合数据的网址接口(微信精选) / AppKey public static final String AppKey = "c261130730787d277e7416d98d67fff4" Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); / 聚合数据的网址

44、接口(微信精选) String url = " getHTML(url); 两次点击退出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开机欢迎

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. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论