Giter Club home page Giter Club logo

Comments (20)

JessYanCoding avatar JessYanCoding commented on August 17, 2024 1

继承 WebView 并重写 setOverScrollMode(int mode) 方法

@Override
public void setOverScrollMode(int mode) {
       super.setOverScrollMode(mode);
       AutoSize.autoConvertDensityOfGlobal(Activity)
}

from androidautosize.

haohao123456 avatar haohao123456 commented on August 17, 2024 1

继承 WebView 并重写 setOverScrollMode(int mode) 方法

@Override
public void setOverScrollMode(int mode) {
       super.setOverScrollMode(mode);
       AutoSize.autoConvertDensityOfGlobal(Activity)
}

fragment中有webview怎么调整?重写setOverScrollMode时,那个activity为null。该怎么设置?求解?

@Override
public void setOverScrollMode(int mode) {
    super.setOverScrollMode(mode);

        AutoSize.autoConvertDensityOfGlobal((Activity) getContext());

}

from androidautosize.

kexuebiao avatar kexuebiao commented on August 17, 2024

ok,完美

from androidautosize.

netman44 avatar netman44 commented on August 17, 2024

这种方案的原理:
image

有种情况:当webView在第三方sdk容器中时,就无法自定义webView了,这种情况有没有完美的兼容方案?
我有种方案:是在打包时使用aaptOptions功能,动态替换掉有webView的layout文件,不过侵入性太强,

from androidautosize.

JessYanCoding avatar JessYanCoding commented on August 17, 2024

重写 Activity 的 onCreateView(View parent, String name, Context context, AttributeSet attrs) 方法,在调用 super 之前调用一遍 AutoSize.autoConvertDensityOfGlobal(Activity)

from androidautosize.

XiFanYin avatar XiFanYin commented on August 17, 2024

在BaseActivity中加上这一行代码确实可以解决问题,但是如果有一个页面AActivity在单独进程中,那么AActivity不能去继承BaseActivity,否则会出现错误。

#2 java.lang.IllegalArgumentException
you must set design_width_in_dp in your AndroidManifest file

这说明我要在新的进程中再次配置这个design_width_in_dp
否则认为这个新的进程没有适配
但是我想适配这个单独的进程
我该怎么配置?

from androidautosize.

JessYanCoding avatar JessYanCoding commented on August 17, 2024

@XiFanYin 这个进程中页面多吗

from androidautosize.

13kmsteady avatar 13kmsteady commented on August 17, 2024

@JessYanCoding 您好,该进程中就 一个 Activity,是用来播放 U3d 内容相关的。上面是我朋友代我提交的 issue。

from androidautosize.

JessYanCoding avatar JessYanCoding commented on August 17, 2024

@13kmsteady 使用 v0.9.5 或以上版本,implementation 'me.jessyan:autosize:0.9.5',然后在 App 初始化时调用 AutoSize#initCompatMultiProcess(Context),像 这样

from androidautosize.

13kmsteady avatar 13kmsteady commented on August 17, 2024

@JessYanCoding 多谢群主大大,您太用心了。注释都写的这么详细,感谢您的付出。

from androidautosize.

JessYanCoding avatar JessYanCoding commented on August 17, 2024

@13kmsteady 感谢认可

from androidautosize.

mackwu828 avatar mackwu828 commented on August 17, 2024
override fun onCreateView(parent: View?, name: String?, context: Context?, attrs: AttributeSet?): View {
    AutoSize.autoConvertDensityOfGlobal(this)
    return super.onCreateView(parent, name, context, attrs)
}

加了这个autoConvertDensityOfGlobal报异常...
java.lang.IllegalStateException: super.onCreateView(parent, name, context, attrs) must not be null

from androidautosize.

JessYanCoding avatar JessYanCoding commented on August 17, 2024

@wmjwmj828 如果报错只有这一句的话,那报错和框架没有任何关系,这行代码并不会导致 onCreateView 为 null,再检查下其他代码

from androidautosize.

xw-s avatar xw-s commented on August 17, 2024

继承 WebView 并重写 setOverScrollMode(int mode) 方法

@Override
public void setOverScrollMode(int mode) {
       super.setOverScrollMode(mode);
       AutoSize.autoConvertDensityOfGlobal(Activity)
}

fragment中有webview怎么调整?重写setOverScrollMode时,那个activity为null。该怎么设置?求解?

from androidautosize.

haohao123456 avatar haohao123456 commented on August 17, 2024

继承 WebView 并重写 setOverScrollMode(int mode) 方法

@Override
public void setOverScrollMode(int mode) {
       super.setOverScrollMode(mode);
       AutoSize.autoConvertDensityOfGlobal(Activity)
}

fragment中有webview怎么调整?重写setOverScrollMode时,那个activity为null。该怎么设置?求解?

public class MyWebView extends WebView{

public MyWebView(Context context) {
    super(context);


}
@Override
public void setOverScrollMode(int mode) {
    super.setOverScrollMode(mode);

        AutoSize.autoConvertDensityOfGlobal((Activity) getContext());
}

public MyWebView(Context context, AttributeSet attrs) {
    super(context, attrs);
}

}

from androidautosize.

cshenhb avatar cshenhb commented on August 17, 2024

@JessYanCoding 当webView在第三方sdk容器中时,就无法自定义webView了,这种情况有没有完美的兼容方案?同 @netman44 的问题.

from androidautosize.

JessYanCoding avatar JessYanCoding commented on August 17, 2024

@cshenhb 这个问题是因为在 setOverScrollMode 方法执行之后, density 被重制了,所以在 setOverScrollMode 方法中重设下 density 就可以了,如果无法自定义 webView,无法重写 setOverScrollMode 方法,那就需要再重新找到一个合适的时机修改 denisty,保证 WebView 在显示之前,density 是一个正确的值,但我没具体研究过,所以也不清楚,需要自己去找。

如果你不想找,或者找不到这个时机,那就直接取消 webView 这个页面的适配,框架的 ExternalAdaptManager 可以支持三方库页面的取消适配,或者直接使用副单位,使用副单位可以屏蔽修改 density 对所有三方库和系统控件的影响,只让自己想适配的地方适配,范围可控。

from androidautosize.

andyjxc avatar andyjxc commented on August 17, 2024

原生页面嵌套一个webview,webview的内容显示放大了,重写webview的
@OverRide
public void setOverScrollMode(int mode) {
super.setOverScrollMode(mode);

    AutoSize.autoConvertDensityOfGlobal((Activity) getContext());

}
还是不行呢?请问你们是怎么处理的呢

from androidautosize.

JessYanCoding avatar JessYanCoding commented on August 17, 2024

@andyjxc #13 (comment)

from androidautosize.

skyshenfu avatar skyshenfu commented on August 17, 2024

@andyjxc 您好 请问webview显示内容放大您是怎么解决的

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.