2017-06-06 6 views
0

Wie kann ich eine Textansicht in Java hinzufügen? Ich versuche, einen unter meiner Werte/styles.xml hinzuzufügen, nicht um jedes Attribut einzeln hinzuzufügen.Wie kann ich den Stil einer Textansicht programmgesteuert festlegen?

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

messagesLayout.addView(sentOne); 

Antwort

1

Sie können this answer by Benjamin Piette handlich finden. dies in funktionierenden Code zu ändern, um ein Textview es nur ein bisschen ändern sich:

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

EDIT: andere Dinge wie Ränder, Höhe & Breite und andere, LayoutParams Gebrauch einzustellen. Das Einstellen der Parameter throrin19's answer kann hilfreich sein.

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

Ich habe diese Antwort angesehen. Das Problem, das ich damit habe, ist, dass es nicht über layou_margin, layout weight und layout_height kopiert. Ich habe alle in Stilen definiert –

+0

Sie können (sollten) diese in LayoutParams definieren – user2988879

0

es eine Antwort für diese ohnehin schon ist: https://stackoverflow.com/a/7919203/5544859

textview.setTypeface(Typeface.DEFAULT_BOLD); 

die zuvor eingestellte Schriftart zu erhalten Attribute, die Sie verwenden können:

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

Credit: @Raz

+0

Sorry, aber diese Antwort ist für Textstyle (fett, kursiv, normal). Ich frage nach Stil (alle anderen Attribute). –

Verwandte Themen