的Android文档说,有两种尺寸为一个视图时,测量的尺寸和绘图尺寸.测量尺寸是在测量通道中计算的尺寸(onMeasure方法),而图纸尺寸是屏幕上的实际尺寸.特别是,文档说:
这些值可以但不必与测量的宽度和高度不同.
所以,我的问题是:什么可以使绘图尺寸与测量尺寸不同?如果onMeasure(int,int)方法遵循布局要求(作为参数widthMeasureSpec和heightMeasureSpec给出,SDK如何确定视图应该具有不同的绘图大小?
此外,在Android源代码中如何/在何处使用测量的宽度/高度来计算绘图宽度/高度?我试着查看View源代码,但我无法弄清楚measuredWidth/Height如何用于计算最终的宽度/高度.也许它与填充有关,但我不确定.
昨晚 Facebook 禁用了我们的应用程序,理由如下:
\n\n\n开发者政策 6.1:验证您是否已正确集成登录。您的应用程序在测试过程中不应崩溃或挂起。
\n在登录期间,您的应用程序崩溃或过度挂起,为尝试使用您的应用程序的人带来了糟糕的体验。为确保此流程顺利运行,请检查您是否已正确集成 Facebook 登录。我们建议您在所有集成上测试登录。如果您还没有这样做,请:
\n\xe2\x80\xa2 这是我们在 Android 上实现 Facebook Login 的快速入门指南: https: //developers.facebook.com/docs/facebook-login/android \n\xe2\x80\xa2 我们鼓励您进行测试您可以按照以下步骤进行登录集成: https: //developers.facebook.com/docs/facebook-login/testing-your-login-flow/ \n\xe2\x80\xa2 登录最佳实践可在此处找到: https ://developers.facebook.com/docs/facebook-login/best-practices
\n
在查看了 Facebook 登录的应用程序选项后,我发现我们的public_profile权限位于“标准访问”中。为了允许我们的用户使用 Facebook 登录,我需要升级到“高级访问”。
该文档称,“2021 年 2 月 16 日之前创建的业务应用程序会自动获得电子邮件和 public_profile 的高级访问权限”。我应该能够将我们的public_profile权限移至“高级访问”,因为我们的应用程序是在 2021 年之前创建的。问题是,在我单击“获取高级访问”按钮并输入密码后,页面会重新加载,并且权限public_profile是仍处于“标准访问”模式。
所以,这些是我的问题:我做错了什么?当我的应用程序处于“禁用”状态时,是否无法将权限升级到“高级访问”?如何调试我的应用程序以使其再次运行?
\n有关我的应用程序的一些附加信息:
\n我正在尝试创建自定义ViewGroup,我想将它与全屏应用程序一起使用.我正在使用"requestWindowFeature(Window.FEATURE_NO_TITLE)"来隐藏标题栏.标题栏未显示,但仍占用窗口顶部的空间.

上面的图片是使用以下代码生成的:
public class CustomLayoutTestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
Button b = new Button(this);
b.setText("Hello");
CustomLayout layout = new CustomLayout(this);
layout.addView(b);
setContentView(layout);
}
}
public class CustomLayout extends ViewGroup {
public CustomLayout(Context context) {
super(context);
}
public CustomLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomLayout(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
Log.i("CustomLayout", "changed="+changed+" …Run Code Online (Sandbox Code Playgroud) 我查看了content-visibilityGoogle Chrome 85 上可用的新 CSS 属性,并将其添加到我的样式表中以提高我网站的渲染性能:
.my-page-section {
content-visibility: auto;
}
Run Code Online (Sandbox Code Playgroud)
问题出在滚动条上。当我将滚动条从顶部拖到底部时,它有点“滞后”:光标到达屏幕底部,但滚动条仍然不在页面底部。要到达页面底部,我需要松开鼠标,将其向上移动,然后向下拖动滚动条数次。
阅读上面链接的文章,我看到了contain-intrinsic-sizeCSS 属性。添加一个合理的值可以减少滚动条的问题,但它仍然发生。我认为这是因为我的应用程序生成动态内容,并且没有带有“my-page-section”类的 HTML div 将具有相同的大小:
.my-page-section {
content-visibility: auto;
contain-intrinsic-size: 250px;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何使用 content-visibility 属性提高页面渲染性能,同时又不妨碍喜欢使用鼠标滚轮拖动滚动条的用户?