您现在的位置: 爱51代码网 >> 范文 >> 文章正文
Launcher功能总结
11.import android.view.WindowManager; 
12.import android.widget.ImageView; 
13. 
14.public class WindowManagerTest extends Activity { 
15.    /** Called when the activity is first created. */ 
16.     
17.    private float mPosX; 
18.    private float mPosY; 
19.     
20.    Bitmap bitmap; 
21.     
22.    WindowManager.LayoutParams mWindowParams; 
23.     
24.    WindowManager mWindowManager; 
25.     
26.    ImageView v; 
27.     
28.    @Override 
29.    public void onCreate(Bundle savedInstanceState) { 
30.        super.onCreate(savedInstanceState); 
31.         
32.        setContentView(R.layout.main); 
33.        
34.        bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.button); 
35.         
36.        addViewToWindowManage(bitmap, 200, 200); 
37.    } 
38.     
39.    public boolean onTouchEvent(MotionEvent motion){ 
40.        switch(motion.getAction()){ 
41.        case MotionEvent.ACTION_DOWN: 
42.            mPosX = motion.getX(); 
43.            mPosY = motion.getY(); 
44.            return true; 
45.        case MotionEvent.ACTION_MOVE: 
46.            mPosX = motion.getX(); 
47.            mPosY = motion.getY(); 
48.            updateViewPosition(v, (int)mPosX,(int) mPosY); 
49.            return true; 
50.        case MotionEvent.ACTION_UP: 
51.            removeView(v); 
52.            return true; 
53.        } 
54.         
55.        return true; 
56.    } 
57.    
58.    void addViewToWindowManage(Bitmap bm, int x, int y) { 
59.        mWindowParams = new WindowManager.LayoutParams(); 
60.        mWindowParams.gravity = Gravity.LEFT | Gravity.TOP; 
61.        mWindowParams.x = x; 
62.        mWindowParams.y = y; 
63.        mWindowParams.height = WindowManager.LayoutParams.WRAP_CONTENT; 
64.        mWindowParams.width = WindowManager.LayoutParams.WRAP_CONTENT; 
65.        mWindowParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE 
66.                | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE 
67.                | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON 
68.                | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN; 
69.        mWindowParams.format = PixelFormat.TRANSLUCENT; 
70.        mWindowParams.windowAnimations = 0; 
71.        v = new ImageView(this); 
72.        v.setImageBitmap(bm); 
73.        mWindowManager = (WindowManager) this.getSystemService("window"); 
74.        mWindowManager.addView(v, mWindowParams); 
75.    } 
76.     
77.    void updateViewPosition(View v,int x,int y){ 
78.        mWindowParams.alpha = 1.0f; 
79.        mWindowParams.x = x ; 
80.        mWindowParams.y = y; 
81.        mWindowManager.updateViewLayout(v, mWindowParams); 
82.    } 
83.     
84.    void removeView(View v){ 
85.        mWindowManager.removeView(v);; 
86.    } 
87.} 
代码包下载地址:http-://download.csdn.-net/source/3521066


LauncherApplication中有变量,一个是LauncherModel,一个是IconCache。在本类中生成LauncherModel对象,作为全局使用的操作数据的对象,并且为Launcher注册了相应的广播,一种是package的remove,update,add,还有快捷方式的Observer,在有快捷方式的变动,重新load。IconCache,是为程序的快捷方式提供默认的图标。

上一页  [1] [2] 

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    mysql主从同步延迟方案解决的学习
    青岛科学六年级下册教材分析
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    总分公司财务核算
    恢复使用繁体字可行性研究报告
    青少年吸烟心理探析
    保险受益人制度相关问题的探讨
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    总分公司财务核算
    恢复使用繁体字可行性研究报告
    保险受益人制度相关问题的探讨
    初中生地理读图能力培养的研究
    搞笑生日祝福
    搞笑生日祝福语
    iOS 6版本与之前版本差异总结
    Java之Http协议的理解与总结
    iOS多线程编程概要总结
    iPhone开发ARC总结
    敢于尝试,善于总结
    C语言sscanf函数的总结
    WCF+EntityFramework+mysql总
    给定的 System.Uri 无法转换
    MooseFS使用问题分析总结
    UITableView 基本使用方法总
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |