android 特殊用法琐碎

1.让一个图片透明: 
Bitmap buffer = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_4444);buffer.eraseColor(Color.TRANSPARENT); 

2.直接发送邮件: 
Intent intent = new Intent(Intent.ACTION_SENDTO,  Uri .fromParts("mailto", "[email protected]", null)); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
context.startActivity(intent); 

3.程序控制屏幕变亮: 
WindowManager.LayoutParams lp = getWindow().getAttributes(); 
lp.screenBrightness = 100 / 100.0f; 
getWindow().setAttributes(lp); 

4.过滤特定文本 
Filter filter = myAdapter.getFilter(); 
filter.filter(mySearchText); 

5scrollView scroll停止事件 
setOnScrollListener(new OnScrollListener(){    
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {      
// TODO Auto-generated method stub    }    
public void onScrollStateChanged(AbsListView view, int scrollState) {      
// TODO Auto-generated method stub      
if(scrollState == 0) Log.i("a", "scrolling stopped...");    }  });} 

6. 对于特定的程序 发起一个关联供打开 
Bitmap bmp = getImageBitmap(jpg); 
String path = getFilesDir().getAbsolutePath() + "/test.png"; 
File file = new File(path); 
FileOutputStream fos = new FileOutputStream(file); 
bmp.compress( CompressFormat.PNG, 100, fos ); 
  fos.close(); 
  
   Intent intent = new Intent(); 
   intent.setAction(android .content.Intent.ACTION_VIEW); 
   intent.setDataAndType(Uri .fromFile(new File(path)), "image/png"); 
   startActivity(intent); 
对于图片上边的不适用索引格式会出错。 
Intent intent = new Intent();  
intent.setAction(android .content.Intent.ACTION_VIEW);  
File file = new File("/sdcard/test.mp4");  
intent.setDataAndType(Uri .fromFile(file), "video/*");  
startActivity(intent); 

Intent intent = new Intent();  
intent.setAction(android .content.Intent.ACTION_VIEW);  
File file = new File("/sdcard/test.mp3");  
intent.setDataAndType(Uri .fromFile(file), "audio/*");  
startActivity(intent); 


7.设置文本外观 
setTextAppearance(context, android .R.style.TextAppearance_Medium); 
android :textAppearance="?android :attr/textAppearanceMedium" 

8.设置单独的发起模式: 
<activity        
  android :name=".ArtistActivity"        
  android :label="Artist"        
  android :launchMode="singleTop">    
  </activity> 

Intent i = new Intent();        
   i.putExtra(EXTRA_KEY_ARTIST, id);       
    i.setClass(this, ArtistActivity.class);        
    i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);       
     startActivity(i); 
9.创建一个圆角图片 
这个的主要原理 其实就是 利用遮罩,先创建一个圆角方框 然后将图片放在下面: 
Bitmap myCoolBitmap = ... ; 
      int w = myCoolBitmap.getWidth(), h = myCoolBitmap.getHeight(); 
      Bitmap rounder = Bitmap.createBitmap(w,h,Bitmap.Config.ARGB_8888); 
      Canvas canvas = new Canvas(rounder);    
      Paint xferPaint = new Paint(Paint.ANTI_ALIAS_FLAG); 
      xferPaint.setColor(Color.RED); 
      canvas.drawRoundRect(new RectF(0,0,w,h), 20.0f, 20.0f, xferPaint);     
      xferPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN)); 

然后呢实现 
canvas.drawBitmap(myCoolBitmap, 0,0, null); 
canvas.drawBitmap(rounder, 0, 0, xferPaint); 

10 在notification 上的icon上加上数字 给人提示有多少个未读 
Notification notification = new Notification (icon, tickerText, when); 
notification .number = 4; 

11背景渐变: 
首先建立文件drawable/shape.xml 
<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android ="http://schemas.android .com/apk/res/android " android :shape="rectangle"> 
    <gradient android :startColor="#FFFFFFFF" android :endColor="#FFFF0000" 
            android :angle="270"/> 
</shape> 
在该文件中设置渐变的开始颜色(startColor)、结束颜色(endColor)和角度(angle) 

接着创建一个主题values/style.xml 
<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<style name="NewTheme" parent="android :Theme"> 
<item name="android :background">@drawable/shape</item> 
</style> 
</resources> 

然后在AndroidManifest.xml文件中的application或activity中引入该主题,如: 
<activity android :name=".ShapeDemo" android :theme="@style/NewTheme"> 

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

12. 储存数据 当你在一个实例中保存静态数据,此示例关闭后 下一个实例想引用 静态数据就会为null,这里呢必须重写applition 
public class MyApplication extends Application{    
   private String thing = null;    
   public String getThing(){        
     return thing;    
     }    
     public void setThing( String thing ){       
      this.thing = thing;    } 
      } 
      public class MyActivity extends Activity {    
      private MyApplication app;    
      public void onCreate(Bundle savedInstanceState) {        
      super.onCreate(savedInstanceState);        
      app = ((MyApplication)getApplication());        
      String thing = app.getThing();    
      } 
      }

你可能感兴趣的:(android)