小程序统计view里文字的行数

小程序统计view里文字的行数,第1张

需求:为了引导用户去支付我们的产品,新增需求:1、文本多于一行的时候,只显示一行。2、文本等于1行的时候,全部隐藏显示阴影。

实现思路:1、css里设置view的line-height,我这里设置了25px。

2、然后动态算出这个view在填充完数据后的高度,我这里填充完数据是200px。3、所以行数=view的高度/line-height,也就是200px/25px = 8行。

注意:这里的view一定要是填充完数据后的高度,也就是thissetData后的高度。

顺便提下,我这里给文字设置阴影的方法是:

Android动态改变View控件大小的方法:

1、声明控件参数获取对象 LayoutParams lp;

2、获取控件参数: lp = 控件idgetLayoutParams();

3、设置控件参数:如高度。 lpheight -= 10;

4:、使设置生效:控件idsetLayoutParams(lp);

例如如要把Imageview下移200px: ImageViewsetPadding( ImageViewgetPaddingLeft(), ImageViewgetPaddingTop()+200, ImageViewgetPaddingRight(), ImageViewgetPaddingBottom());

在小程序中没有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

});

}

1一个view控件,先new出来做初始化处理,addview(view)中,再获取此view的getLayoutParams(),设置view的高宽,padding的设置是在view本身有的方法,viewsetPadding(left,top,right,bottom);

2

在LinearLayout中动态addview,两种方式:a:addView(viewA);

结果:

再过去viewA的getLayoutParams() 设置viewA的宽高,

结果:

b:addView(view,layoutParams);

结果:

为什么第一种方式会导致第二个textview内容显示不会超过第一个textview的宽度

需求: 当滚动到某个view的时候将view置顶 当滚动条回到view开始的位置下面时再回到原位置

效果:

实现: 使用 onPageScroll 方法首先检测到滚动的位置 escrollTop 在滚动的同时来获取view与顶部的距离,因为这个view 上面的view 是不固定的可以减少 或者增多所以要时时来检测变化的高度

判断 如果离顶部距离 为0 时 将view置顶 使用动态样式来判断

同时在检测顶部距离为0的时候记录一下高度 然后当滚动高度等于记录的高度的时候再讲view 返回

备注 条条大路通罗马 小弟浅见

//在代码中设置控件大小的方法

private Button mbtn;

mbtn = (Button) findViewById(Ridbtn_test);

LayoutParams lp;

lp=mbtngetLayoutParams();

lpwidth=100;

lpheight=200;

mbtnsetLayoutParams(lp);

//在代码中设置界面大小的方法:

Display display = getWindowManager()getDefaultDisplay(); // 为获取屏幕宽、高

Window window = getWindow();

LayoutParams windowLayoutParams = windowgetAttributes(); // 获取对话框当前的参数值

windowLayoutParamswidth = (int) (displaygetWidth() 07); // 宽度设置为屏幕的095

windowLayoutParamsheight = (int) (displaygetHeight() 01); // 高度设置为屏幕的06

windowLayoutParamsalpha = 05f;// 设置透明度

react native里webview设置高度自适应是通过判断clientHeight并且动态刷新实现的。

核心代码如下:

var script =

;(function() {

var wrapper = documentcreateElement("div"); 定义div

wrapperid = "height-wrapper"; 设置div的id

while (documentbodyfirstChild) {

wrapperappendChild(documentbodyfirstChild); 追加到div

}

documentbodyappendChild(wrapper); 追加到body

var i = 0;

function updateHeight() {

documenttitle = wrapperclientHeight; 获取div的高度

windowlocationhash = ++i; 自动+1刷新高度

}

updateHeight(); 此处调用生效

动态改变控件位置的方法:

setPadding()的方法更改布局位置。

如我要把Imageview下移200px:

ImageViewsetPadding( ImageViewgetPaddingLeft(), ImageViewgetPaddingTop()+200,

ImageViewgetPaddingRight(), ImageViewgetPaddingBottom());

动态改变控件大小的方法:

1、声明控件参数获取对象 LayoutParams lp;

2、获取控件参数: lp = 控件idgetLayoutParams();

3、设置控件参数:如高度。 lpheight -= 10;

4:、使设置生效:控件idsetLayoutParams(lp);

以上就是关于小程序统计view里文字的行数全部的内容,包括:小程序统计view里文字的行数、Android 自定义控件 动态设置高度、微信小程序如何获取某个view高度然后赋值给另外一个view等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/web/9819652.html

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

发表评论

登录后才能评论

评论列表(0条)

保存