首页 > 代码库 > 小方法总结

小方法总结

1.得到屏幕宽高+在代码里设置应用的宽高

[java] view plaincopy
  1. // 屏幕矩形  
  2. mRect =new Rect(0,0,this.getWindowManager().getDefaultDisplay().getWidth(),  
  3.         this.getWindowManager().getDefaultDisplay().getHeight());   
  4.   
  5. FrameLayout lfl = (FrameLayout)findViewById(R.id.FrameLayout);  
  6. FrameLayout.LayoutParams lFLpp = (FrameLayout.LayoutParams)lfl.getLayoutParams();  
  7. lFLpp.width = mRect.width();  
  8. lFLpp.height = mRect.height();  
  9. lfl.setLayoutParams(lFLpp);  


2.设置无标题,全屏,横屏

[java] view plaincopy
  1. requestWindowFeature(Window.FEATURE_NO_TITLE);                          // 无标题  
  2.    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,   
  3.         WindowManager.LayoutParams.FLAG_FULLSCREEN);                             // 全屏  
  4.    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);   // 横屏  


3.以String形式返回当前时间

[java] view plaincopy
  1. private String getTimeReturnString() {  
  2.       
  3.     Time m_Time = new Time("GMT+8");      
  4.        m_Time.setToNow();   
  5.     return String.format("%dH%dS%dM",m_Time.hour,m_Time.minute,m_Time.second);  
  6.       
  7. }  


4.SurfaceView设置背景透明

[java] view plaincopy
  1. this.setZOrderOnTop(true);  
  2. mSurfaceHolder.setFormat(PixelFormat.TRANSPARENT);   


5.类似1的另一种实现

[java] view plaincopy
  1.                 mWindow = getWindow();  
  2. WindowManager.LayoutParams lLayoutParams = mWindow.getAttributes();  
  3. lLayoutParams.x = paX;  
  4. lLayoutParams.y = paY;  
  5. lLayoutParams.width = paWidth;  
  6. lLayoutParams.height = paHeight;  
  7.   
  8. lLayoutParams.dimAmount = 0f;   // 背景不变暗  
  9.   
  10. mWindow.setAttributes(lLayoutParams);  


 5.通知栏的坐标变化动画计算方式。看了下其实是加速度的计算方法,不过不知道我自已写的运行效果不理想,没有系统的平滑。

[java] view plaincopy
  1. void incrementAnim() {  
  2.     long now = SystemClock.uptimeMillis();  
  3.     float t = ((float)(now - mAnimLastTime)) / 1000;            // ms -> s  
  4.     final float x = mAnimX;  
  5.     final float v = mAnimVel;                                   // px/s  
  6.     final float a = mAnimAccel;                                 // px/s/s  
  7.     mAnimX = x + (v*t) + (0.5f*a*t*t);                          // px  
  8.     mAnimVel = v + (a*t);                                       // px/s  
  9.     mAnimLastTime = now;                                        // ms  
  10. }  

小方法总结