Comment définir la marge dynamiquement dans Android?
Je fais actuellement une application android qui contient une boîte de dialogue d'alerte personnaliser. Il contient un bouton , mais je ne peux pas définir la marge pour le bouton . le code est donné ci-dessous. la méthode setmargin ne fonctionne pas
AlertDialog.Builder myDialog = new AlertDialog.Builder(Login.this);
Button button = new Button(Login.this);
button.setText("Send");
LayoutParams buttonLayoutParams
= new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
button.setLayoutParams(buttonLayoutParams);
resetPassword=editText.getText().toString();
LinearLayout layout = new LinearLayout(Login.this);
layout.setOrientation(LinearLayout.VERTICAL);
layout.addView(textView);
layout.addView(editText);
layout.addView(button);
myDialog.setView(layout);
26
demandé sur
AndyN
2012-06-16 13:15:34
4 réponses
Écrivez le Code suivant pour définir la marge, cela peut vous aider.
AlertDialog.Builder myDialog = new AlertDialog.Builder(Login.this);
Button button = new Button(Login.this);
EditText editText = new EditText(Login.this);
TextView textView = new TextView(Login.this);
button.setText("Send");
LinearLayout.LayoutParams buttonLayoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
buttonLayoutParams.setMargins(50, 10, 0, 0);
button.setLayoutParams(buttonLayoutParams);
String resetPassword = editText.getText().toString();
LinearLayout layout = new LinearLayout(Login.this);
layout.setOrientation(LinearLayout.VERTICAL);
layout.addView(textView);
layout.addView(editText);
layout.addView(button);
myDialog.setView(layout);
myDialog.show();
Utilisez LinearLayout.LayoutParams
ou RelativeLayout.LayoutParams
selon la disposition parente de la vue enfant
49
répondu
Dipak Keshariya
2016-02-02 08:56:18
buttonLayoutParams.bottomMargin
buttonLayoutParams.topMargin
buttonLayoutParams.leftMargin
buttonLayoutParams.rightMargin
Peut être utilisé pour définir des marges
3
répondu
user1458071
2012-06-16 09:18:27
La méthode setMargin() est disponible si vous utilisez LinearLayout.LayoutParams mais pas si vous utilisez ViewGroup.LayoutParams. Dipak Keshariya fait allusion à cela mais ne le dit pas en tant que mots.
2
répondu
Klepto
2014-05-08 16:49:58
You can set in LinearLayout margin
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams layoutParams = new
LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(30, 20, 30, 0);
Button okButton=new Button(this);
okButton.setText("some text");
ll.addView(okButton, layoutParams);
1
répondu
Ajay Keshri
2016-02-02 09:37:42