2017-06-06 82 views
0

如何将样式添加到java中的textview中?我正在尝试在我的values/styles.xml下添加一个,而不是单独添加每个属性。如何以编程方式设置textview的样式?

LinearLayout messagesLayout = (LinearLayout) findViewById(R.id.messages_layout); 
TextView sentOne = new TextView(this); 
sentOne.setText(sentMessage); 

messagesLayout.addView(sentOne); 

回答

1

您可能会发现this answer by Benjamin Piette方便。为了改变这种进入工作代码,一个TextView只是改变它一点:

TextView tv = new TextView (new ContextThemeWrapper(this, R.style.mystyle), null, 0); 

编辑:设置其他像空间,高度&宽度等,使用的LayoutParams。要设置参数throrin19's answer可能会有所帮助。

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
     LinearLayout.LayoutParams.WRAP_CONTENT,  
     LinearLayout.LayoutParams.WRAP_CONTENT 
); 
params.setMargins(left, top, right, bottom); 
tv.setLayoutParams(params); 
+0

我看过那个答案。我与它的问题是,它不复制layou_margin,布局权重和layout_height等。我已经定义了所有样式 –

+0

您可以(应该)在LayoutParams中定义这些 – user2988879

0

有这个答案已经:https://stackoverflow.com/a/7919203/5544859

textview.setTypeface(Typeface.DEFAULT_BOLD); 

保持以前设置的字体属性,你可以使用:

textview.setTypeface(textview.getTypeface(), Typeface.DEFAULT_BOLD); 

感谢:@Raz

+0

对不起,但答案是针对textstyle(粗体,斜体,普通)。我正在问风格(所有其他属性)。 –

相关问题