Domyślnie otrzymujemy dwa lub trzy przyciski wyrównane poziomo w oknie dialogowym alertu. Czy możliwe jest ich wyrównanie w pionie w oknie dialogowym alertu?Czy możemy mieć pionowe przyciski w oknie dialogowym alertu systemu Android?
6
A
Odpowiedz
8
Oczywiście, można użyć opcji Dialog.setContentView(), aby ustawić zawartość okna dialogowego na dowolny układ.
Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.yourLayoutId);
dialog.show();
Zrób sobie plik układ z pionowym LinearLayout który ma przyciski, które mają w niej i nazywają setContentView na oknie, przekazując nazwę pliku układu.
Jeśli jesteś deadset na AlertDialog można zrobić coś podobnego z builder.setView()
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.yourLayoutId, (ViewGroup) findViewById(R.id.yourLayoutRoot));
AlertDialog.Builder builder = new AlertDialog.Builder(this)
.setView(layout);
AlertDialog alertDialog = builder.create();
alertDialog.show();
6
nastąpił setItems() połączenia, które wykonuje to od poziomu API 1. Nie ma powodu, aby utworzyć niestandardowy w oknie dialogowym, chyba że chcesz zmienić wygląd i styl elementów.
CharSequence[] items = {"Foo", "Bar", "FooBar"};
new AlertDialog.Builder(activity)
.setTitle("Choose a widget")
.setItems(items, new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
switch(which)
{
case FOO:
// foo case
break;
....
}
}
}
.create().show();
Idealnie ... dziękuję! – Ahmed