提交 58b3ea5e 编写于 作者: J jackjintai

modify:

1、add dokit V2.0.0
上级 4ba1009e
......@@ -10,12 +10,12 @@ if (rootProject.ext.config["applyPlugin"]) {
// releaseImplementation project(":doraemonkit-no-op")
// releaseImplementation project(":doraemonkit_weex_no_op")
debugImplementation 'com.didichuxing.doraemonkit:doraemonkit:1.2.8'
debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-leakcanary:1.2.8'
debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-weex:1.2.8'
debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-aop:1.2.8'
releaseImplementation 'com.didichuxing.doraemonkit:doraemonkit-weex-no-op:1.2.8'
releaseImplementation 'com.didichuxing.doraemonkit:doraemonkit-no-op:1.2.8'
debugImplementation 'com.didichuxing.doraemonkit:doraemonkit:2.0.0'
debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-leakcanary:2.0.0'
debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-weex:2.0.0'
debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-aop:2.0.0'
releaseImplementation 'com.didichuxing.doraemonkit:doraemonkit-weex-no-op:2.0.0'
releaseImplementation 'com.didichuxing.doraemonkit:doraemonkit-no-op:2.0.0'
}
} else {
// 引用no-op的库
......
......@@ -32,7 +32,6 @@ import com.didichuxing.doraemonkit.ui.realtime.datasource.DataSourceFactory;
import com.didichuxing.doraemonkit.util.threadpool.ThreadPoolProxyFactory;
import com.facebook.drawee.view.SimpleDraweeView;
import com.squareup.picasso.Picasso;
//import com.squareup.picasso.Picasso;
import java.io.ByteArrayOutputStream;
import java.io.File;
......@@ -58,7 +57,7 @@ import okhttp3.RequestBody;
import okhttp3.Response;
import okhttp3.ResponseBody;
//import com.squareup.picasso.Picasso;
public class MainDebugActivity extends AppCompatActivity implements View.OnClickListener {
public static final String TAG = "MainActivity";
......
......@@ -13,7 +13,7 @@ buildscript {
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.1'
classpath 'com.android.tools.build:gradle:3.5.2'
classpath 'com.novoda:bintray-release:0.9.1'
classpath 'com.github.franticn:gradle_plugin_android_aspectjx:2.0.6'
// NOTE: Do not place your application dependencies here; they belong
......
......@@ -11,12 +11,12 @@ ext {
applicationId : "com.didichuxing.doraemondemo",
minSdkVersion : 16,
targetSdkVersion : 27,
versionCode : 128,
versionCode : 200,
//滴滴内网dokit版本号
innerArchivesVersionName : "0.1.23",
//jcenter dokit版本号
jcenterArchivesVersionName: "1.2.8",
versionName : "1.2.8",
jcenterArchivesVersionName: "2.0.0",
versionName : "2.0.0",
"glide" : "4.8.0",
]
dependencies = [// ###### android library start ######
......
......@@ -201,7 +201,9 @@ public class DoraemonKit {
return;
}
//设置app的直接子view的Id
UIUtils.getDokitAppContentView(activity).setId(R.id.dokit_app_contentview_id);
if (UIUtils.getDokitAppContentView(activity) != null) {
UIUtils.getDokitAppContentView(activity).setId(R.id.dokit_app_contentview_id);
}
if (IS_NORMAL_FLOAT_MODE) {
......
......@@ -11,9 +11,9 @@ import android.view.Window;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.didichuxing.doraemonkit.DoraemonKit;
import com.didichuxing.doraemonkit.R;
import com.didichuxing.doraemonkit.config.LayoutBorderConfig;
......@@ -22,13 +22,14 @@ import com.didichuxing.doraemonkit.ui.base.AbsDokitView;
import com.didichuxing.doraemonkit.ui.base.DokitViewLayoutParams;
import com.didichuxing.doraemonkit.ui.base.DokitViewManager;
import com.didichuxing.doraemonkit.ui.layoutborder.ScalpelFrameLayout;
import com.didichuxing.doraemonkit.ui.layoutborder.ViewBorderFrameLayout;
import com.didichuxing.doraemonkit.util.LogHelper;
import com.didichuxing.doraemonkit.util.UIUtils;
/**
* Created by jintai on 2019/09/26.
*/
public class LayoutLevelDokitView extends AbsDokitView {
private static final String TAG = "LayoutLevelDokitView";
private CheckBox mSwitchButton;
private View mClose;
......@@ -73,8 +74,16 @@ public class LayoutLevelDokitView extends AbsDokitView {
}
if (appContentView == null) {
ToastUtils.showShort("当前根布局功能不支持");
return;
}
if(appContentView.toString().contains("SwipeBackLayout")){
LogHelper.i(TAG,"普通模式下布局层级功能暂不支持以SwipeBackLayout为根布局,请改用系统模式");
ToastUtils.showShort("普通模式下布局层级功能暂不支持以SwipeBackLayout为根布局");
return;
}
//将所有控件放入到ScalpelFrameLayout中
mScalpelFrameLayout = new ScalpelFrameLayout(appContentView.getContext());
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
......
......@@ -12,9 +12,13 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import com.blankj.utilcode.util.Utils;
import com.didichuxing.doraemonkit.R;
import com.didichuxing.doraemonkit.config.LayoutBorderConfig;
import com.didichuxing.doraemonkit.ui.base.DokitViewInterface;
import com.didichuxing.doraemonkit.ui.base.DokitViewManagerInterface;
import com.didichuxing.doraemonkit.util.LogHelper;
import com.didichuxing.doraemonkit.util.UIUtils;
import java.util.ArrayList;
import java.util.List;
......@@ -23,16 +27,22 @@ import java.util.List;
* Created by wanglikun on 2019/1/12
*/
public class ViewBorderFrameLayout extends FrameLayout {
private static final String TAG = "ViewBorderFrameLayout";
public ViewBorderFrameLayout(@NonNull Context context) {
super(context);
setId(R.id.dokit_view_border_id);
//LogHelper.i(TAG, "childId=====>" + UIUtils.getIdText(this));
}
public ViewBorderFrameLayout(@NonNull Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
setId(R.id.dokit_view_border_id);
}
public ViewBorderFrameLayout(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
setId(R.id.dokit_view_border_id);
}
@Override
......
......@@ -5,6 +5,7 @@ import android.content.Context;
import android.content.res.Resources;
import android.graphics.Rect;
import android.support.annotation.AnyRes;
import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.view.Display;
......@@ -13,6 +14,7 @@ import android.view.Window;
import android.view.WindowManager;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.didichuxing.doraemonkit.R;
import com.didichuxing.doraemonkit.ui.layoutborder.ViewBorderFrameLayout;
......@@ -148,7 +150,11 @@ public class UIUtils {
return false;
}
/**
* 要特别注意 返回的字段包含空格 做判断时一定要trim()
* @param view
* @return
*/
public static String getIdText(View view) {
final int id = view.getId();
StringBuilder out = new StringBuilder();
......@@ -177,12 +183,17 @@ public class UIUtils {
out.append("/");
out.append(entryname);
} catch (Resources.NotFoundException e) {
e.printStackTrace();
}
}
}
return out.toString();
return TextUtils.isEmpty(out.toString()) ? "" : out.toString();
}
/**
* ViewBorderFrameLayout 的str id
*/
private final static String STR_VIEW_BORDER_Id = "app:id/dokit_view_border_id";
/**
* 获得app的contentView
......@@ -199,9 +210,10 @@ public class UIUtils {
for (int index = 0; index < decorView.getChildCount(); index++) {
View child = decorView.getChildAt(index);
LogHelper.i(TAG, "childId=====>" + getIdText(child));
//解决与布局边框工具冲突的问题
if (child instanceof LinearLayout || child instanceof ViewBorderFrameLayout) {
if (child instanceof ViewBorderFrameLayout) {
if ((child instanceof LinearLayout && TextUtils.isEmpty(getIdText(child).trim())) || child instanceof FrameLayout) {
if (getIdText(child).trim().equals(STR_VIEW_BORDER_Id)) {
mAppContentView = ((ViewBorderFrameLayout) child).getChildAt(0);
} else {
mAppContentView = child;
......
......@@ -27,4 +27,5 @@
<item name="dokit_contentview_id" type="id" />
<item name="dokit_app_contentview_id" type="id" />
<item name="dokit_view_border_id" type="id" />
</resources>
## 2.0.0
1. 修复V2.0.0前置试用版V1.2.8的相关issues,先正是推出V2.0.0版本,请大家升级使用
## 1.2.8
1. 解决app_name被覆盖的问题
......
......@@ -5,8 +5,8 @@
```
dependencies {
...
debugImplementation 'com.didichuxing.doraemonkit:doraemonkit:1.2.8'
releaseImplementation 'com.didichuxing.doraemonkit:doraemonkit-no-op:1.2.8'
debugImplementation 'com.didichuxing.doraemonkit:doraemonkit:2.0.0'
releaseImplementation 'com.didichuxing.doraemonkit:doraemonkit-no-op:2.0.0'
implementation 'com.squareup.okhttp3:okhttp:3.12.1'
...
}
......@@ -28,8 +28,8 @@ DoraemonKit目前已支持Weex工具,包括
```
dependencies {
...
debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-weex:1.2.8'
releaseImplementation 'com.didichuxing.doraemonkit:doraemonkit-weex-no-op:1.2.8'
debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-weex:2.0.0'
releaseImplementation 'com.didichuxing.doraemonkit:doraemonkit-weex-no-op:2.0.0'
...
}
```
......@@ -39,7 +39,7 @@ dependencies {
```
dependencies {
...
debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-leakcanary:1.2.8'
debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-leakcanary:2.0.0'
...
}
```
......@@ -93,7 +93,7 @@ buildscript {
apply plugin: 'android-aspectjx'
dependencies {
...
debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-aop:1.2.8'
debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-aop:2.0.0'
...
}
```
......
......@@ -5,8 +5,8 @@
```
dependencies {
...
debugImplementation 'com.didichuxing.doraemonkit:doraemonkit:1.2.8'
releaseImplementation 'com.didichuxing.doraemonkit:doraemonkit-no-op:1.2.8'
debugImplementation 'com.didichuxing.doraemonkit:doraemonkit:2.0.0'
releaseImplementation 'com.didichuxing.doraemonkit:doraemonkit-no-op:2.0.0'
...
}
```
......@@ -62,7 +62,7 @@ Apply plugin in application module of `build.gradle`
apply plugin: 'android-aspectjx'
dependencies {
...
debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-aop:1.2.8'
debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-aop:2.0.0'
...
}
```
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册