我对TextViews和Button有一些意图。如果用户单击该按钮并且有一些错误,我想更改一个TextView的外观。例如。将边框更改为红色并使字体变为粗体。我为它写了一个样式,但我没有在TextView上找到方法setStyle。经过一些自学,我意识到Android does not support setting the style programmatically。当您创建意图source时,有一些解决方法。但我的意图已经存在,重新创建它似乎很奇怪。
你能告诉我正确的方法吗?
答案 0 :(得分:2)
直接更改textview的样式无法正常工作。但您可以在布局中创建第二个带有其他样式的文本视图,如果需要,可以显示这些样式。
只需将此xml属性android:visibility="gone"
添加到第二个文本视图中,因此第一个文本视图最初不会显示,但可用。
当您现在想要更改textview的样式时,您只需要隐藏第一个文本视图并显示第二个文本视图,就可以交换这两个文本视图
textView1.setVisibility(View.GONE);
textView2.setVisibility(View.VISIBLE);
答案 1 :(得分:1)
您可以尝试在textview上使用setTextAppearance()
。链接是:setTextAppearance
您的样式需要TextAppearance.SomeThing.SomeOtherThing作为父级。
使用R.style.YourStyleName
作为整数参数。
答案 2 :(得分:1)
我使用这两个答案使其成功:
,代码是:
ViewManager parent = (ViewManager) unknown.getParent();
parent.removeView(unknown);
TextView newUnknown = (TextView)getLayoutInflater().inflate(R.layout.tvtemplate, null);
newUnknown.setId(unknown.getId());
parent.addView(newUnknown, unknown.getLayoutParams());
unknown = newUnknown;