微信小程序 view的高度是被内容撑开的 怎么获取它的高度

微信小程序 view的高度是被内容撑开的 怎么获取它的高度,第1张

在小程序中没有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怎么获取高度、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9540064.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存