在小程序中没有DOM *** 作的方法,所以获取不到相应的DOM节点进行高度设置。
解决方案
1css方案
<view class="{{isFold 'flod':'extend' }}" bindtap="flodFn">
我是一个很长的文字
</view>
flod{
//折叠样式
}
extend{
//展开样式
}
flodFn:function(){
thissetData({
isFold: !thisisFold
});
}
2动态渲染方案
<view bindtap="flodFn">
<view wx:if="{{isFold}}" >
我是一个很长的文字
</view>
<view wx:else>
我是一个很长的文字
</view>
</view>
flodFn:function(){
thissetData({
isFold: !thisisFold
});
}
高级
如果是列表,需要结合复杂数据处理,建议阅读
在Android开发过程中,有时需要获取View绘制前的高度或者宽度,一种的可能情形是初始化的时候让某个View的Visible = Gone的,当触发某个事件的时候需要它显示并且希望有一些动画效果。
这时候就要获取这个View显示前即绘制前的宽度或者高度。原理很简单,View的绘制过程发生之前,会先执行onMeasure方法。那么就可以利用反射来获取需要的值。下面给出获取高度的代码,宽度同理。
private int getTargetHeight(View v) {
try {
Method m = vgetClass()getDeclaredMethod("onMeasure", intclass,
intclass);
msetAccessible(true);
minvoke(v, MeasureSpecmakeMeasureSpec(
((View) vgetParent())getMeasuredWidth(),
MeasureSpecAT_MOST), MeasureSpecmakeMeasureSpec(0,
MeasureSpecUNSPECIFIED));
} catch (Exception e) {
}
return vgetMeasuredHeight();
}
拿到这个高度之后就可以做想做的动画效果或者是其他的事情了。
以上就是关于微信小程序 view的高度是被内容撑开的 怎么获取它的高度全部的内容,包括:微信小程序 view的高度是被内容撑开的 怎么获取它的高度、android view怎么获取高度、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)