AriesHoo / FastLib

一个Android项目级快速开发框架,节约大部分写常用功能时间以实现更多项目业务功能及体验上的优化。使用说明见wiki
https://github.com/AriesHoo/FastLib/wiki
Apache License 2.0
492 stars 95 forks source link

implement #31

Closed flowvwrvvsv closed 4 years ago

flowvwrvvsv commented 5 years ago

implementation 'com.github.AriesHoo:FastLib:2.2.12'

你好使用这种方式导入,打包的时候有问题啊 image

AriesHoo commented 5 years ago

那你使用本地module嘛

flowvwrvvsv commented 5 years ago

。。。你得意思是导入module嘛?我之前用的本地module,我想着用这个方式可以一直更新你的项目。。。

AriesHoo commented 5 years ago

网上说貌似是有库冲突 https://blog.csdn.net/dubo_csdn/article/details/81743397 百度下嘛

flowvwrvvsv commented 5 years ago

我去试试

flowvwrvvsv commented 5 years ago

image 你好这个问题已经解决了, 删除这一行就可以了,你的项目里面已经有这个东西所以会冲突,

AriesHoo commented 5 years ago

ok,我使用的的是Androidx

flowvwrvvsv commented 5 years ago

但是有个问题,我如果在app项目想用appcompat-v7这里面的东西怎么办?

AriesHoo commented 5 years ago

一样的,Android studio会相互转换的,只要不同时使用即可

flowvwrvvsv commented 5 years ago

有个问题,我的app工程依赖你的项目,你项目中所有的包我都可以使用么

flowvwrvvsv commented 5 years ago

我以前就遇到过这种问题,依赖了其他项目A,项目A依赖了项目B,我在主项目工程里面却不能使用项目B中的代码,,,我是以本地MOdule的方式导入的

AriesHoo commented 5 years ago

那可能项目b的引入模式只能给a使用

flowvwrvvsv commented 5 years ago

难道开发Android Studio 的工程师没想到这个问题,不应该啊!..!

AriesHoo commented 5 years ago

https://majing.io/posts/10000007081192 了解下

flowvwrvvsv commented 5 years ago

感觉从你的项目中可以了解到很多最新的项目,厉害呀,,,,

AriesHoo commented 5 years ago

这些也不算新项目,都比较流行的

flowvwrvvsv commented 5 years ago

我有一年多没搞Android了,你的项目也是在GitHub上偶然看到的,一直在跟

AriesHoo commented 5 years ago

咋又回坑了?欢迎回坑

flowvwrvvsv commented 5 years ago

哈哈哈,一直都在坑里,之前受伤了,就一直没搞,上次我说的那个通用的那个请求,我去把retrofit下载源码改了,

flowvwrvvsv commented 5 years ago

然后各种报错,一看又要改rxJava的方法的,我就放弃了

AriesHoo commented 5 years ago

感觉不能那么弄的。事件处理流程都不是那么走的

flowvwrvvsv commented 5 years ago

我再试试看看,我感觉不是事件的流程问题,应该是反射确定类型的时候无法判断,看看有没有其他方式

flowvwrvvsv commented 5 years ago

我现在用的implement的方式导入,还是回出现这种错误。。。 image

AriesHoo commented 5 years ago

这怕是分包问题吧

flowvwrvvsv commented 5 years ago

必须要把这个加上才不会报错,不管是本地Model方式导入,还是Githup方式导入 image

AriesHoo commented 5 years ago

这个是刷新头,必须要加

flowvwrvvsv commented 5 years ago

但是在你的library里面是已经导入了的,为啥app主项目里面找不到。。。

AriesHoo commented 5 years ago

image

flowvwrvvsv commented 5 years ago

你好在吗,请问我Scroll View里面包裹了几个Edit TExt为什么点击的时候EditText下面的布局回消失?

AriesHoo commented 5 years ago

布局咋样的?效果图咋样的?猜测不是消失 了。应该是滚动到下边了。你滚动试一试

flowvwrvvsv commented 5 years ago

外层是Scroll View,滚不动,KeyBordHelper点击软键盘以外,软键盘就消失了 微信图片_20190325155735

AriesHoo commented 5 years ago

这种要让布局滚动吧,,如果你不想某个Activity 不控制软键盘可以在setNavigationBar 回调里将Activity过滤掉 helper.setControlBottomEditTextEnable(!(activity insteadof xxx))

flowvwrvvsv commented 5 years ago

好,我研究一下

flowvwrvvsv commented 5 years ago

if里面的代码注释以后就没问题了,不知道为啥 image

AriesHoo commented 5 years ago

那句代码就是 部分情况下控制软键盘功能的

flowvwrvvsv commented 5 years ago

那段代码的意思是不是,再新开的activity里面,如有又EditText有焦点,就会谈起软键盘?

AriesHoo commented 5 years ago

你可以进去看下。。setEnable 里面咋处理的

flowvwrvvsv commented 5 years ago

1 我把调用setEnable注释以后,就不会出现EditText下面的布局消失的问题, 2 setEnable方法添加了adjustSpan和adjustReszie,还有添加了全局的GlobalLayoutListener,但是我还是没找到弹出软键盘时,界面控制的代码。。。求解惑

flowvwrvvsv commented 5 years ago

找到了

AriesHoo commented 5 years ago

onGlobalLayoutListener里通过setPadding 来留出软键盘高度

flowvwrvvsv commented 5 years ago

1 这个是先等待软键盘弹出以后才设置padding的吗? 2 界面上 软键盘的高度是始终不变的,bottomPadding也应该再变才行吧 个人理解 image

AriesHoo commented 5 years ago

这个是软键盘开关都会设置padding,而且确实是变化的

flowvwrvvsv commented 5 years ago

我debug看了下,每次的paddinBottom是一样的,那还是不行哦

flowvwrvvsv commented 5 years ago

我还想改改代码呢,发现是githup上的,改不了。。。

AriesHoo commented 5 years ago

哪里有问题?

flowvwrvvsv commented 5 years ago

我的意思是,paddingBottom不需要设置太高,editText下面的部分被隐藏掉了 image

AriesHoo commented 5 years ago

这个paddingBottom是由根布局的paddingBottom和软键盘高度决定的,。正常的都是要滚动的。这个做的是一个通用场景,如果要单独处理,就关闭软键盘那段处理即可

AriesHoo commented 5 years ago

如果你的项目需求是不要管软键盘遮挡问题,可以关掉那段代码

AriesHoo commented 5 years ago

那个软键盘处理类是一个通用处理方案解决大多数应用场景,如果你要根据你这个需求去改变那个KeyboardHelper 的paddingBottom这个通用性就会被打破,更多的情况就会出问题

AriesHoo commented 5 years ago

根据你页面的效果来看,。这个是需要添加滚动ScrollView的。不然必然输入框会被软键盘遮住

flowvwrvvsv commented 5 years ago

我感觉是不是paddBottom的值太多了, 1 有个疑惑,我的那个界面有很多个editText,不管点击哪个edittext都会把当前点击的edittext置于顶部, 我看代码每次在填充的paddBottom都是同一个值