我想在单击按钮时将textVIEw添加到表中.所以这就是我在OnClickListener中所做的事情:
todotable.addVIEw(new TextVIEw(this));
我还想向这个动态创建的TextVIEw添加属性,如文本内容或背景.那我该怎么办? AndroID Studio说有一个像这样的构造函数
new TextVIEw(Context context, AttributeSet attrs)
我可以在AttributeSet参数中包含哪些内容来为TextVIEw提供值,例如“Hello World!”?
解决方法:
做这样的事情,创建一个返回TextVIEw的方法,你也可以设置你的文本.一种更简单的方法是仅创建文本视图布局,而只是重用它. AttributeSet主要用于创建自定义视图并需要添加更多属性时.
public TextVIEw createTextVIEw(String text) { String attributes = "<attribute xmlns:androID=\"http://schemas.androID.com/apk/res/androID\" " + "androID:layout_wIDth=\"match_parent\" androID:layout_height=\"wrap_content\" androID:padding=\"10dp\" " + "androID:background=\"@drawable/List_selector_background\" androID:clickable=\"true\" " + "androID:textAppearance = \"@androID:style/TextAppearance.Medium\" androID:textcolor = \"@color/text_colors\" " + "androID:text=\"" + text + "\" androID:gravity = \"left\" " + "\"/>"; XmlPullParserFactory factory = null; try { factory = XmlPullParserFactory.newInstance(); factory.setnamespaceAware(true); XmlPullParser parser = factory.newPullParser(); parser.setinput(new StringReader(attributes)); parser.next(); AttributeSet attrs = Xml.asAttributeSet(parser); return new TextVIEw(this, attrs); } catch (XmlPullParserException e) { e.printstacktrace(); } catch (IOException e) { e.printstacktrace(); } return new TextVIEw(this);}
总结 以上是内存溢出为你收集整理的如何动态地将AttributeSet添加到TextView?全部内容,希望文章能够帮你解决如何动态地将AttributeSet添加到TextView?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)