Ich versuche, ein Benachrichtigungs Dialog Box wie Lollipop zu schaffen, wird gut alles, aber ich bin in einem Abschnitt, den Fall von stecken EditTextAndroid: Set Margin für Text bearbeiten in Alertdialog Box
Ich möchte ein EditText mit Unterstreichung und Marge links und rechts mit 20dp.Für Unterstreichen versuchte ich setBackground(), und es funktioniert gut.
Aber es gibt ein Problem, das setBackground() nicht API Stufe unter 16
Für setMargin I
final EditText input = new EditText(MainActivity.this);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
lp.setMargins(30,0,30,0);
input.setLayoutParams(lp);
input.setGravity(View.TEXT_ALIGNMENT_GRAVITY);
input.setBackground(getResources().getDrawable(R.drawable.edit_text_line));
builder.setView(input);
Aber Text bearbeiten und mit voller Mutter Breite versucht arbeiten.
vollständiger Code
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Message");
builder.setMessage("Do you want to\n"+""+"exit from app");
final EditText input = new EditText(MainActivity.this);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
lp.setMargins(30,0,30,0);
input.setLayoutParams(lp);
input.setGravity(View.TEXT_ALIGNMENT_GRAVITY);
input.setBackground(getResources().getDrawable(R.drawable.edit_text_line)); //call reequires api 16 and above
builder.setView(input);
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "You exit from app " + input.getText().toString(),
Toast.LENGTH_LONG).show();
}
});
AlertDialog alert = builder.create();
alert.show();
Button nbutton = alert.getButton(DialogInterface.BUTTON_NEGATIVE);
nbutton.setTextColor(Color.parseColor("#7e7e7e"));
Button pbutton = alert.getButton(DialogInterface.BUTTON_POSITIVE);
pbutton.setTextColor(Color.parseColor("#109c8f"));
Gibt es eine Möglichkeit, den Hintergrund für die EditText, die unter API 16 und setMargin arbeiten zu setzen links und rechts für die EditText.
Eine Abhilfe für die Margin-Ding kann eine lineare Layout und Satz sein hinzufügen links und rechts padding zu diesem Layout. Lege deinen Edittext in dieses lineare Layout, anstatt es direkt in den Dialog zu stellen. –
versuchen Sie es mit ViewGroup.MarginLayoutParams .. !!! –
@Binil S sehe meine Antwort unten. –