it-swarm.com.de

Wie programmiere ich Ränder für TextView?

TextView tv1 = new TextView(this);      
tv1.setPadding(5, 0, 5, 0);
tv1.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT));
tv1.setBackgroundColor(Color.parseColor("#0099cc"));
tv1.setTextColor(Color.WHITE);
tv1.setTextSize(11);
tv1.setGravity(Gravity.LEFT | Gravity.BOTTOM);
tv1.setText("Test1");
ll.addView(tv1);

TextView tv2 = new TextView(this);      
tv2.setPadding(5, 0, 5, 0);
tv2.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT));
tv2.setBackgroundColor(Color.parseColor("#0099cc"));
tv2.setTextColor(Color.WHITE);
tv2.setTextSize(11);
tv2.setGravity(Gravity.LEFT | Gravity.BOTTOM);
tv2.setText("Test2");
ll.addView(tv2);

Wie Sie sehen, habe ich in dieser Ruhe des Codes die Hintergrundfarbe von TextView gesetzt. Was ich tun möchte, ist, dass ich beide TextView 's voneinander trennen möchte, so dass ihre Hintergrundfarben durch eine Linie getrennt wären. Ich möchte nicht, dass sie sich verbinden. Soweit ich es verstanden habe, wäre es möglich, wenn ich Ränder von TextView setzen könnte, aber wie ich weiß, sind TextView nicht dazu in der Lage.

43
user2205288

auf LayoutParams setzen.

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.setMargins(10,10,10,10);
tv1.setLayoutParams(params);
90
dmnlk

Das hängt von Ihrer Elternansicht ab. 

Wenn Sie LinearLayout in Ihrer übergeordneten Textansicht verwenden, geben Sie die folgenden Parameter an

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.setMargins(10,10,10,10);
tv1.setLayoutParams(params);

Wenn Sie RelativeLayout in Ihrer übergeordneten Textansicht verwenden, geben Sie die folgenden Parameter an

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.WRAP_CONTENT, RelativeLayout.WRAP_CONTENT);
params.setMargins(10,10,10,10);
tv1.setLayoutParams(params);
0
Emre Tekin

Dieses sollte versucht werden

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ActionBar.LayoutParams.WRAP_CONTENT, ActionBar.LayoutParams.WRAP_CONTENT);
        params.setMargins(10,20,30,20);
        txt_gender.setLayoutParams(params);
0
Sam