Giter Club home page Giter Club logo

Comments (3)

JessYanCoding avatar JessYanCoding commented on July 18, 2024 1

问题的原因还是在于 popupwindow 在显示之前,density 的值不是预期的值,所以只要想办法,在 popupwindow 显示布局之前将 density 的值调整到期望的值就可以咯,在 popupwindow 每次 show 之前调用一次 AutoSize.autoConvertDensity 应该就没问题了

我还是建议看看我新增的副单位,可以避免三方库和系统控件显示异常的问题

from androidautosize.

JessYanCoding avatar JessYanCoding commented on July 18, 2024

回到 App 时调用 AutoSize.autoConvertDensity(getActivity(), 830, false);,出现显示异常可能是切换回来,App 重新布局导致的,所以在重新布局之前重新设置density,还有要想完全规避这些系统控件或三方库控件的适配异常,建议使用副单位,框架可同时支持 dp 和 副单位,新页面使用副单位,等有空的时候再把旧页面的 dp 改成 副单位就可以了,详情请看 demo-subunits ,以下是介绍:

AndroidAutoSize 在版本 v0.9.1 之后,新增了副单位,区别与传统的今日头条方案,可以使用 pt、in、mm 这三种冷门单位在 layout 文件中布局,这样不光可以直接填写设计图中的 px 尺寸,不需要再将 px 转化为 dp 外,还可以规避修改 DisplayMetrics#density 所造成的对于其他使用 dp 布局的系统控件或三方库控件的不良影响

from androidautosize.

leeManong avatar leeManong commented on July 18, 2024

popupwindow如果本来就是show的状态,切回来时是正常的没有改变。但是这时重新new的popupwindow是不正常的。

我在Activity中onConfigurationChanged重新设置density,发现onConfigurationChanged有时会不回调。有时有作用有时没作用。于是我又在Application中registerComponentCallbacks中onConfigurationChanged设置栈顶的Activity的density,这样每次解锁屏幕时确实都会回调。但是有时还是会不起作用。

最后我把上面两种方法一起用,结果就没出现不起作用的情况了。

from androidautosize.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.