首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

Android 非一般用法-来自中国移动开发社区

2012-08-31 
Android 特殊用法--来自中国移动开发社区1.让一个图片透明:复制到剪贴板??Java代码Bitmap?buffer??Bitmap

Android 特殊用法--来自中国移动开发社区

1.让一个图片透明:

复制到剪贴板??Java代码
  1. Bitmap?buffer?=?Bitmap.createBitmap(width,?height,?Bitmap.Config.ARGB_4444);buffer.eraseColor(Color.TRANSPARENT);???

2.直接发送邮件:

复制到剪贴板??Java代码
  1. Intent?intent?=?new?Intent(Intent.ACTION_SENDTO,??Uri?.fromParts("mailto",?"test@test.com",?null));? ?? intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);? ??
  2. context.startActivity(intent);???

3.程序控制屏幕变亮:

复制到剪贴板??Java代码
  1. WindowManager.LayoutParams?lp?=?getWindow().getAttributes();? ?? lp.screenBrightness?=?100?/?100.0f;? ??
  2. getWindow().setAttributes(lp);??

4.过滤特定文本

复制到剪贴板??Java代码
  1. Filter?filter?=?myAdapter.getFilter();? ?? filter.filter(mySearchText);???

5.scrollView scroll停止事件

复制到剪贴板??Java代码
  1. setOnScrollListener(new?OnScrollListener(){???? ?? public?void?onScroll(AbsListView?view,?int?firstVisibleItem,?int?visibleItemCount,?int?totalItemCount)?{?????? ??
  2. //?TODO?Auto-generated?method?stub????}???? ?? public?void?onScrollStateChanged(AbsListView?view,?int?scrollState)?{?????? ??
  3. //?TODO?Auto-generated?method?stub?????? ?? if(scrollState?==?0)?Log.i("a",?"scrolling?stopped...");????}??});}???

6. 对于特定的程序 发起一个关联供打开

复制到剪贴板??C/C++代码
  1. Bitmap?bmp?=?getImageBitmap(jpg);? ?? String?path?=?getFilesDir().getAbsolutePath()?+?"/test.png";? ??
  2. File?file?=?new?File(path);? ?? FileOutputStream?fos?=?new?FileOutputStream(file);? ??
  3. bmp.compress(?CompressFormat.PNG,?100,?fos?);? ?? ??fos.close();? ??
  4. ?? ?? ???Intent?intent?=?new?Intent();? ??
  5. ???intent.setAction(android?.content.Intent.ACTION_VIEW);? ?? ???intent.setDataAndType(Uri?.fromFile(new?File(path)),?"image/png");? ??
  6. ???startActivity(intent);? ?? 对于图片上边的不适用索引格式会出错。? ??
  7. Intent?intent?=?new?Intent();?? ?? intent.setAction(android?.content.Intent.ACTION_VIEW);?? ??
  8. File?file?=?new?File("/sdcard/test.mp4");?? ?? intent.setDataAndType(Uri?.fromFile(file),?"video/*");?? ??
  9. startActivity(intent);? ?? ??
  10. Intent?intent?=?new?Intent();?? ?? intent.setAction(android?.content.Intent.ACTION_VIEW);?? ??
  11. File?file?=?new?File("/sdcard/test.mp3");?? ?? intent.setDataAndType(Uri?.fromFile(file),?"audio/*");?? ??
  12. startActivity(intent);???

7.设置文本外观

复制到剪贴板??Java代码
  1. setTextAppearance(context,?android?.R.style.TextAppearance_Medium);? ?? android?:textAppearance="?android?:attr/textAppearanceMedium"??

8.设置单独的发起模式:

复制到剪贴板??Java代码
  1. <activity???????? ?? ??android?:name=".ArtistActivity"???????? ??
  2. ??android?:label="Artist"???????? ?? ??android?:launchMode="singleTop">???? ??
  3. ??</activity>? ?? ??
  4. Intent?i?=?new?Intent();???????? ?? ???i.putExtra(EXTRA_KEY_ARTIST,?id);??????? ??
  5. ????i.setClass(this,?ArtistActivity.class);???????? ?? ????i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);??????? ??
  6. ?????startActivity(i);???

9.创建一个圆角图片
这个的主要原理其实就是利用遮罩,先创建一个圆角方框 然后将图片放在下面:

复制到剪贴板??Java代码
  1. Bitmap?myCoolBitmap?=?...?;? ????????int?w?=?myCoolBitmap.getWidth(),?h?=?myCoolBitmap.getHeight();? ??
  2. ??????Bitmap?rounder?=?Bitmap.createBitmap(w,h,Bitmap.Config.ARGB_8888);? ????????Canvas?canvas?=?new?Canvas(rounder);???? ??
  3. ??????Paint?xferPaint?=?new?Paint(Paint.ANTI_ALIAS_FLAG);? ????????xferPaint.setColor(Color.RED);? ??
  4. ??????canvas.drawRoundRect(new?RectF(0,0,w,h),?20.0f,?20.0f,?xferPaint);????? ????????xferPaint.setXfermode(new?PorterDuffXfermode(PorterDuff.Mode.DST_IN));???
复制到剪贴板??Java代码
  1. //然后呢实现? ??canvas.drawBitmap(myCoolBitmap,?0,0,?null);? ??
  2. canvas.drawBitmap(rounder,?0,?0,?xferPaint);? ??

10.在notification 上的icon上加上数字 给人提示有多少个未读

复制到剪贴板??Java代码
  1. Notification?notification?=?new?Notification?(icon,?tickerText,?when);? ??notification?.number?=?4;???

11背景渐变:
首先建立文件drawable/shape.xml

复制到剪贴板??Java代码
  1. <?xml?version="1.0"?encoding="utf-8"?>? ??<shape?xmlns:android?="http://schemas.android?.com/apk/res/android?"?android?:shape="rectangle">? ??
  2. ????<gradient?android?:startColor="#FFFFFFFF"?android?:endColor="#FFFF0000"? ??????????????android?:angle="270"/>? ??
  3. </shape>? ??

在该文件中设置渐变的开始颜色(startColor)、结束颜色(endColor)和角度(angle)

接着创建一个主题values/style.xml

复制到剪贴板??Java代码
  1. <?xml?version="1.0"?encoding="utf-8"?>? ??<resources>? ??
  2. <style?name="NewTheme"?parent="android?:Theme">? ??<item?name="android?:background">@drawable/shape</item>? ??
  3. </style>? ??</resources>???

然后在AndroidManifest.xml文件中的application或activity中引入该主题,如:

复制到剪贴板??Java代码
  1. <activity?android?:name=".ShapeDemo"?android?:theme="@style/NewTheme">? ??

该方法同样适用于控件? http://17f8.cn/trackback.php?tbID=259&extra=9d45e9

12. 储存数据 当你在一个实例中保存静态数据,此示例关闭后 下一个实例想引用 静态数据就会为null,这里呢必须重写applition

复制到剪贴板??Java代码
  1. public?class?MyApplication?extends?Application{???? ?????private?String?thing?=?null;???? ??
  2. ???public?String?getThing(){???????? ???????return?thing;???? ??
  3. ?????}???? ???????public?void?setThing(?String?thing?){??????? ??
  4. ??????this.thing?=?thing;????}? ????????}? ??
  5. ??????public?class?MyActivity?extends?Activity?{???? ????????private?MyApplication?app;???? ??
  6. ??????public?void?onCreate(Bundle?savedInstanceState)?{???????? ????????super.onCreate(savedInstanceState);???????? ??
  7. ??????app?=?((MyApplication)getApplication());???????? ????????String?thing?=?app.getThing();???? ??
  8. ??????}? ????????}??

热点排行