- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用以下代码测量布局的高度:
int widthMeasureSpec = View.MeasureSpec.makeMeasureSpec(toExpand.getWidth(), View.MeasureSpec.EXACTLY);
int heightMeasureSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
layoutHeight.measure(widthMeasureSpec, heightMeasureSpec);
int height = layoutHeight.getMeasuredHeight();
如果我在创建布局后调用它,它会返回良好的值,但我也在应用程序启动时调用它,当 fragment 被附加时,它返回比预期高得多的值。
有什么想法吗?感谢转发
最佳答案
通过将 onGlobalLayout 监听器与 viewTreeObserver 一起使用解决了这个问题。这是代码:
ViewTreeObserver vto = ((View) loadingLayout.getParent()).getViewTreeObserver();
vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
ViewTreeObserver vto = ((View) loadingLayout.getParent()).getViewTreeObserver();
int widthMeasureSpec = View.MeasureSpec.makeMeasureSpec(toExpand.getWidth(), View.MeasureSpec.EXACTLY);
int heightMeasureSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
layoutHeight.measure(widthMeasureSpec, heightMeasureSpec);
int height = layoutHeight.getMeasuredHeight();
if(toExpand.getHeight() == height){
hide(toExpand, 0);
}else{
expand(toExpand, height);
}
if (Build.VERSION.SDK_INT < 16) {
//deprecated od API level 16
vto.removeGlobalOnLayoutListener(this);
} else {
vto.removeOnGlobalLayoutListener(this);
}
}
});
关于android - measureSpec 返回错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28340432/
我对 MeasureSpec.UNSPECIFIED 和 MeasureSpec.AT_MOST 有点困惑。我知道当 match_parent 或常量尺寸值设置为 layout_width 或 lay
我正在尝试使用以下代码测量布局的高度: int widthMeasureSpec = View.MeasureSpec.makeMeasureSpec(toExpand.getWidth(), Vie
我正在学习《专业 Android 4 应用程序开发》的第 4 章,它告诉我尺寸值和模式都是从传递给 onMeasure() 方法的 widthMeasureSpec 和 heightMeasureSp
我遇到了这个问题:https://stackoverflow.com/questions/20121696/slidingmenu-bug-in-android-4-3 但现在我已经修复了,我想分享我
Android Studio 0.8.10 你好 我正在尝试实现抽屉导航,但我一直收到此错误。该 fragment 扩展了 ListFragment 并且我已经覆盖了 getview 以扩充下面的布局
我已经搜索过有关此问题的答案,但没有找到解决方案。所以我在这里请求帮助。我正在创建自定义 View 。我已经覆盖了 onMeasure。代码如下。 @Override protected
我正在尝试实现抽屉导航,但我不断收到此错误。我看到了类似的问题,但对我没有用。我有以下布局activity_main2.xml: 在我的 activit
堆栈跟踪: 09-10 07:56:56.448 24867-24867/? E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.Illega
我正在关注 this来自的教程,我正面临一个奇怪的问题。 我的 DrawerLayout 中的内容并不重要,但如果它的 layout_height 或 layout_width 设置为硬编码数字以外的
我正在编写自己的布局,扩展 ViewGroup 类。您需要覆盖的方法之一是 onMeasure() 方法。在此方法中,父 View (将包含我的布局的 View )将传递我的布局可能具有的宽度和高度。
我使用以下两种方法 ( inspired/copied from here ) expand 和 collapse ScrollView 中的一些 TextViews > 点击“header”-Tex
我将 Auth0 与 Xamarin Forms PCL 库一起使用。我有以下 MainPage 类: namespace LoginPattern { public class MainPa
在我的应用程序中,我使用 Xamarin Shell 创建底部标签栏导航,如下所示: MainPage.xaml
这是我的 xml 布局文件: 但是当我启动我的 Android 应用程序时,出现错误(在运行时): E/AndroidRuntime: FATAL
嗨,我正在尝试在饼图顶部实现一个抽屉导航,但它不断崩溃,但它似乎打开了其他 Activity ,非常感谢。我使用 apptheme 作为主题,使用 MpAndroidChart api 作为饼图 Ja
这是我的 mainlayout 文件。 这是我编写与抽屉导航相关的代码的主要布局文件,还使用 include 包含工具栏。
我是一名优秀的程序员,十分优秀!