需求:为了引导用户去支付我们的产品,新增需求: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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)