android动态添加textview

android动态添加textview,第1张

你没设置文字颜色吧

tvsetTextColor(thisgetResources()getColor(Rcolorblack));

强制给设个颜色,不然系统自己默认个给你显示,有的版本系统默认白色有的黑色。我之前就遇到过,在233系统上显示黑色,在400系统显示白色

TextView tv=new TextView(context);

LinearLayoutLayoutParams params=new LinearLayoutLayoutParams(

LinearLayoutLayoutParamsWRAP_CONTENT,LinearLayoutLayoutParamsWRAP_CONTENT

);

tvsetLayoutParams(params);

//左右上下

int left=tvgetLeft();

int right=tvgetRight();

int width=tvgetWidth();

int height=tvgetHeight();

//左右上下的内部空白

int padingLeft=tvgetPaddingLeft();

int padingRight=tvgetPaddingRight();

int padingTop=tvgetPaddingTop();

int padingBt=tvgetPaddingBottom();

//只有LinearLayoutLayoutParams等有Margins属性,不是所有的布局都有Margins要看具体情况

int marginLeft=paramsleftMargin;

int marginRight=paramsrightMargin;

int marginTop=paramstopMargin;

int marginBt=paramsbottomMargin;

有时候运行时代码需要这样取Margins:

ViewGroupLayoutParams p=thisgetLayoutParams();

if(p!=null && p instanceof LinearLayoutLayoutParams){

LinearLayoutLayoutParams lp=(LinearLayoutLayoutParams)p;

int margingLeft=lpleftMargin;

}

用getWidth()方法,可以获取像素单位的宽度

android的控件一般是继承的androidView这个类,所以可以直接用View#getWidth()方法获取控件宽度。另外这个方法是final方法,无法被子类覆盖,所以可以安心调用

 android:ems设置TextView的宽度为N个字符的宽度。这里测试为一个汉字字符宽度

android:maxEms设置TextView的宽度为最长为N个字符的宽度。与ems同时使用时覆盖ems选项。

android:minEms设置TextView的宽度为最短为N个字符的宽度。与ems同时使用时覆盖ems选项。

android:maxLength限制显示的文本长度,超出部分不显示。

android:lines设置文本的行数,设置两行就显示两行,即使第二行没有数据。

android:maxLines设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,超出行数将不显示。

android:minLines设置文本的最小行数,与lines类似。

android:lineSpacingExtra设置行间距。

android:lineSpacingMultiplier设置行间距的倍数。如”12”

以上就是关于android动态添加textview全部的内容,包括:android动态添加textview、android中获取TextView位置、android如何获取控件宽度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存