StandOut 是一个在Android应用中创建浮动窗口的框架,使用该框架可以方便的创建各种浮动窗口。可以指定窗口大小、放置的位置、是否可以拖动、是否可以最小化、可以在通知栏显示提示等等。

项目如图:





主要项目StandOut:

public abstract class StandOutWindow extends Service //扩展这个类可以轻松地创建和管理的浮动出色的窗口 这是一个后台服务通过Window产生布局视图。

public class WindowCache //窗体缓存

public class Window extends FrameLayout //浮动窗体视图


实例项目FloatingFolders:

public class AppAdapter extends ArrayAdapter<ActivityInfo> //程序自定义视图

public final class FloatingFolder extends StandOutWindow //只要继承 wei.mark.standout.StandOutWindow类 ,重写(Override)各种函数即可实现浮动窗体

public class FloatingFoldersLauncher extends Activity {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);StandOutWindow.closeAll(this, FloatingFolder.class);FloatingFolder.showFolders(this);finish();}}


实例项目StandOutExample:

public class StandOutExampleActivity extends Activity {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);StandOutWindow.closeAll(this, SimpleWindow.class);StandOutWindow.closeAll(this, MultiWindow.class);StandOutWindow.closeAll(this, WidgetsWindow.class);// show a MultiWindow, SimpleWindowStandOutWindow.show(this, SimpleWindow.class, StandOutWindow.DEFAULT_ID);StandOutWindow.show(this, MultiWindow.class, StandOutWindow.DEFAULT_ID);StandOutWindow.show(this, WidgetsWindow.class,StandOutWindow.DEFAULT_ID);// show a MostBasicWindow. It is commented out because it does not// support closing./* * StandOutWindow.show(this, StandOutMostBasicWindow.class, * StandOutWindow.DEFAULT_ID); */finish();}}
public class MostBasicWindow extends StandOutWindow {@Overridepublic String getAppName() {return "MostBasicWindow";}@Overridepublic int getAppIcon() {return android.R.drawable.btn_star;}@Overridepublic void createAndAttachView(int id, FrameLayout frame) {TextView view = new TextView(this);view.setText("MostBasicWindow");view.setBackgroundColor(Color.CYAN);frame.addView(view);}@Overridepublic StandOutLayoutParams getParams(int id, Window window) {return new StandOutLayoutParams(id, 200, 150, 100, 100);}}

其它的同上!


源码简单实用!学习的目标是成熟!

项目下载



更多相关文章

  1. Android项目集成Jenkins(JUnit test & Coverage)
  2. 跟我学android-使用Eclipse开发第一个Android应用(三)
  3. React Native开源项目-F8 App环境搭建
  4. Flutter误删除android/ios目录怎么办?
  5. 第五章(6)Libgdx应用框架之接口
  6. android 项目 local_Test_exam 代码分享
  7. 解决工程导入出现the currently displayed page contains invali
  8. Android(安卓)Studio(AS)-->导入项目
  9. android studio 导入Eclipse项目报错:this project refers to ec

随机推荐

  1. Android(安卓)写一个属于自己的印象笔记
  2. [置顶] Android(安卓)单击listview弹出po
  3. 我的Android参赛作品--此产品不代表个人
  4. Android(安卓)tp的虚拟按键处理
  5. Android(安卓)副屏相关修改
  6. 从JVM到Dalivk再到ART(class,dex,odex,ELF
  7. Android的进程,线程模型
  8. Android(安卓)NDK带来什么
  9. Android布局文件的属性值解析
  10. 模仿android新浪微博手机客户端项目