Ho un compito per modificare AlertDialog width e height per xml, voglio make che diventa style, quindi posso usarlo facilmente.E quello, ho bisogno di cambiare il pulsante di stile AlertDialog anche. Puoi dirmi un modo per ottenere il target.Thank si Molto grato. PS, è meglio raggiungere l'obiettivo del cambiamento xml.Android: come posso impostare la larghezza e l'altezza di AlertDialog e il pulsante dello stile AlertDialog?
risposta
ci sono due metodi 1) programatically 2) utilizzando il layout xml
1)=======>
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(layout);
builder.setTitle("Title");
alertDialog = builder.create();
alertDialog.show();
alertDialog.getWindow().setLayout(600, 400); //Controlling width and height.
(or)
alertDialog.show();
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(alertDialog.getWindow().getAttributes());
lp.width = 150;
lp.height = 500;
lp.x=-170;
lp.y=100;
alertDialog.getWindow().setAttributes(lp);
Se si desidera per mostrare il layout da visualizzare come Alert dialog
vedi this
2)========>
choose.xml
<TextView
android:id="@+id/img"
android:layout_width="wrap_content"
android:text="@string/choose"
android:textSize="25dp"
android:textColor="#fff"
android:layout_height="50dp"/>
<TableLayout android:id="@+id/table"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#fff"
android:orientation="vertical">
<TableRow
android:id="@+id/tr1"
android:orientation="horizontal"
android:layout_margin="10dp">
<ImageView
android:contentDescription="@string/phone"
android:src="@drawable/phone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/phnText"
android:layout_width="wrap_content"
android:text="@string/phone"
android:gravity="left|center_vertical"
android:layout_marginLeft="10dp"
android:textSize="25dp"
android:textColor="#000"
android:layout_height="50dp"/>
</TableRow>
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="#FF000000" />
<TableRow
android:id="@+id/tr2"
android:orientation="horizontal"
android:layout_margin="10dp">
<ImageView
android:contentDescription="@string/sms"
android:src="@drawable/sms"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/smsText"
android:layout_width="wrap_content"
android:text="@string/sms"
android:gravity="left|center_vertical"
android:layout_marginLeft="10dp"
android:textSize="25dp"
android:textColor="#000"
android:layout_height="50dp"/>
</TableRow>
</TableLayout>
</LinearLayout>
visualizzazione questo come popup come di seguito come
private void showPopUp()
{
final AlertDialog.Builder helpBuilder = new AlertDialog.Builder(this);
helpBuilder.setTitle("");
LayoutInflater inflater = getLayoutInflater();
final View checkboxLayout = inflater.inflate(R.layout.choose, null);
helpBuilder.setView(checkboxLayout);
final AlertDialog helpDialog = helpBuilder.create();
helpDialog.show();
TableRow tablerowPhone = (TableRow)checkboxLayout.findViewById(R.id.tr1);
TableRow tablerowSms = (TableRow)checkboxLayout.findViewById(R.id.tr2);
tablerowPhone.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
helpDialog.dismiss();
Uri callUri = Uri.parse("tel:" + listview_array[4]);
Intent intent = new Intent(Intent.ACTION_CALL, callUri);
startActivity(intent);
}
});
tablerowSms.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
helpDialog.dismiss();
Uri smsUri = Uri.parse("sms:" + listview_array[4]);
Intent intent = new Intent(Intent.ACTION_VIEW, smsUri);
startActivity(intent);
}
});
}
chiamano questo showPopUp()
metodo in cui si desidera. in modo che è possibile impostare altezza e larghezza per il layout in file xml
Grazie mille. In questo modo può farlo, ma voglio farlo per file xml. Perché voglio configurare l'xml alla mia application.do hai un modo per farlo con il file xml? Grazie ancora e ancora. – oldfox3721
Prova questa, questo funziona per me,
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(layout);
builder.setTitle("Title");
alertDialog = builder.create();
alertDialog.getWindow().setLayout(600, 400); //Controlling width and height.
alertDialog.show();
- 1. Mostrando stile Android Wear AlertDialog
- 2. Android: carattere a larghezza fissa in AlertDialog
- 3. Modificare lo stile di AlertDialog
- 4. AlertDialog setCustomTitle styling per abbinare il titolo standard AlertDialog
- 5. Cambia colore pulsante in AlertDialog
- 6. Android - Custom AlertDialog Background Color
- 7. Come respingere AlertDialog in Android
- 8. AlertDialog colore di sfondo
- 9. Come testare un AlertDialog in Android?
- 10. ProgressDialog e AlertDialog causa finestra
- 11. android: come allineare il messaggio in alertDialog?
- 12. Android AlertDialog con sfondo trasparente
- 13. Disattiva (positivo) il pulsante di AlertDialog per impostazione predefinita
- 14. Android: AlertDialog con visualizzazione personalizzata e angoli arrotondati
- 15. Android AlertDialog title background color
- 16. OnClickListener all'interno di alertdialog personalizzato Android
- 17. AlertDialog con checkbox In android
- 18. AlertDialog con DatePicker
- 19. Eccezione Android AlertDialog "Risorse $ NotFoundException"
- 20. Utilizzo di ArrayAdapter con AlertDialog e .setAdapter
- 21. Come riempimento predefinito per AlertDialog
- 22. Android AlertDialog Sposta PositiveButton a destra e NegativeButton a sinistra
- 23. Tema chiaro per AlertDialog?
- 24. Android: genera AlertDialog dal thread di sfondo
- 25. Come impostare gli elementi a scelta singola all'interno di AlertDialog?
- 26. Come cambiare tema per AlertDialog
- 27. Set caselle in Multichoice AlertDialog in Android
- 28. Android EditText in AlertDialog sembra troppo largo
- 29. Come mettere un'immagine in una AlertDialog? Android
- 30. AlertDialog Input Text
Si può avere qualcosa di simile http://stackoverflow.com/questions/1979369/ android-activity-as-a-dialog –
@ userIsAMonkey, grazie mille, ho pensato di usare Activity come una finestra di dialogo, ma è il mio compito di usare la finestra di dialogo. perché ci sono molte finestre di attesa da mostrare.Vogliamo avere uno stile facile da mostrare.Grazie, ale. – oldfox3721