opt
This commit is contained in:
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="JDK" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -24,7 +24,7 @@ SNAPSHOT_REPOSITORY_URL=http://nexus.zhidaoauto.com/repository/maven-snapshots/
|
||||
USERNAME=xintai
|
||||
PASSWORD=xintai2018
|
||||
# 编译模式: false - 依赖本地版本, true - 依赖 maven 版本
|
||||
RELEASE=false
|
||||
RELEASE=true
|
||||
# 模块版本
|
||||
DEMO_MODULE_MAP_VERSION=1.0.0-SNAPSHOT
|
||||
DEMO_MODULE_MAP2_VERSION=1.0.0-SNAPSHOT
|
||||
|
||||
@@ -17,6 +17,11 @@ import com.mogo.service.windowview.IMogoWindowManager;
|
||||
@Route( path = MogoServicePaths.PATH_WINDOW_MANAGER )
|
||||
public class MogoWindowManager implements IMogoWindowManager {
|
||||
|
||||
@Override
|
||||
public void addView( View view, int x, int y, boolean movable ) {
|
||||
WindowViewHandler.addView( view, x, y, movable );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addView( int priority, View view, int x, int y, boolean movable ) {
|
||||
WindowViewHandler.addView( view, priority, x, y, movable );
|
||||
|
||||
@@ -41,6 +41,39 @@ public class WindowViewHandler {
|
||||
sFloatingLayout = frameLayout;
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加任意view到布局,不考虑优先级
|
||||
*
|
||||
* @param view
|
||||
* @param x
|
||||
* @param y
|
||||
* @param movable
|
||||
*/
|
||||
public static void addView( View view, int x, int y, boolean movable ) {
|
||||
if ( view == null ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( sFloatingLayout == null ) {
|
||||
Logger.e( TAG, "no floating frame. " );
|
||||
return;
|
||||
}
|
||||
|
||||
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT );
|
||||
params.leftMargin = x;
|
||||
params.topMargin = y;
|
||||
sFloatingLayout.addView( view, params );
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加view到布局,优先级大的展示
|
||||
*
|
||||
* @param view
|
||||
* @param priority
|
||||
* @param x
|
||||
* @param y
|
||||
* @param movable
|
||||
*/
|
||||
public static void addView( View view, int priority, int x, int y, boolean movable ) {
|
||||
if ( view == null ) {
|
||||
return;
|
||||
@@ -71,6 +104,14 @@ public class WindowViewHandler {
|
||||
addView();
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加view到布局,优先级大的展示
|
||||
*
|
||||
* @param view
|
||||
* @param priority
|
||||
* @param params
|
||||
* @param movable
|
||||
*/
|
||||
public static void addView( View view, int priority, FrameLayout.LayoutParams params, boolean movable ) {
|
||||
if ( view == null ) {
|
||||
return;
|
||||
@@ -104,19 +145,16 @@ public class WindowViewHandler {
|
||||
if ( sFloatingLayout == null ) {
|
||||
return;
|
||||
}
|
||||
if ( sView != view ) {
|
||||
Logger.w( TAG, "view do not added." );
|
||||
return;
|
||||
}
|
||||
if ( view == null ) {
|
||||
return;
|
||||
}
|
||||
sFloatingLayout.removeView( view );
|
||||
sView = null;
|
||||
sPriority = Integer.MIN_VALUE;
|
||||
sMovable = false;
|
||||
sParams = null;
|
||||
DispatchTouchEventWrapper.getInstance().release();
|
||||
if ( sView == view ) {
|
||||
sView = null;
|
||||
sPriority = Integer.MIN_VALUE;
|
||||
sMovable = false;
|
||||
sParams = null;
|
||||
}
|
||||
}
|
||||
|
||||
private static void addView() {
|
||||
|
||||
@@ -13,8 +13,19 @@ import com.alibaba.android.arouter.facade.template.IProvider;
|
||||
*/
|
||||
public interface IMogoWindowManager extends IProvider {
|
||||
|
||||
|
||||
/**
|
||||
* 向window中添加指定的布局
|
||||
* 向window中添加指定的布局,不考虑优先级
|
||||
*
|
||||
* @param view 添加的实例
|
||||
* @param x 左上角x坐标
|
||||
* @param y 左上角y坐标
|
||||
* @param movable 是否可移动(无效)
|
||||
*/
|
||||
void addView( View view, int x, int y, boolean movable );
|
||||
|
||||
/**
|
||||
* 向window中添加指定的布局,优先级大的展示
|
||||
*
|
||||
* @param priority 优先级
|
||||
* @param view 添加的实例
|
||||
@@ -25,7 +36,7 @@ public interface IMogoWindowManager extends IProvider {
|
||||
void addView( int priority, View view, int x, int y, boolean movable );
|
||||
|
||||
/**
|
||||
* 向window中添加指定的布局
|
||||
* 向window中添加指定的布局,优先级大的展示
|
||||
*
|
||||
* @param priority 优先级
|
||||
* @param view 添加的实例
|
||||
|
||||
Reference in New Issue
Block a user