开源项目之Android StandOut(浮动窗口)

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. */
	@Override
	public 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. */
	@Override
	public 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, SimpleWindow

		StandOutWindow
				.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 {

	@Override
	public String getAppName() {
		return "MostBasicWindow";
	}

	@Override
	public int getAppIcon() {
		return android.R.drawable.btn_star;
	}

	@Override
	public void createAndAttachView(int id, FrameLayout frame) {
		TextView view = new TextView(this);
		view.setText("MostBasicWindow");
		view.setBackgroundColor(Color.CYAN);

		frame.addView(view);
	}

	@Override
	public StandOutLayoutParams getParams(int id, Window window) {
		return new StandOutLayoutParams(id, 200, 150, 100, 100);
	}
}
其它的同上!


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

项目下载



  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值