AlertDialog teması nasıl değiştirilir


242

Birinin bana yardım edip edemeyeceğini merak ediyordum. Özel bir AlertDialog oluşturmaya çalışıyorum. Bunu yapmak için styles.xml dosyasına aşağıdaki kod satırını ekledim

<resources>
 <style name="CustomAlertDialog" parent="android:Theme.Dialog.Alert">
  <item name="android:windowBackground">@drawable/color_panel_background</item>
 </style>
</resources>
  • color_panel_background.9.png çekilebilir klasörde bulunur. Bu, Android SDK res klasöründe de mevcuttur.

Ana faaliyet aşağıdadır.

package com.customdialog;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;

public class CustomDialog extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        this.setTheme(R.style.CustomAlertDialog);
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setMessage("HELLO!");
        builder .setCancelable(false)
          .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog, int id) {
               //MyActivity.this.finish();
           }
       })
       .setNegativeButton("No", new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog, int id) {
               //dialog.cancel();
           }
       });

        AlertDialog alertdialog = builder.create();
        alertdialog.show();
    }
}

Temayı bir AlertDialog'a uygulamak için temayı geçerli içeriğe ayarlamak zorunda kaldım.

Ancak, uygulamayı özelleştirilmiş AlertDialog'u göstermek için alamıyorum. Birisi bana bu konuda yardımcı olabilir mi?



Çok yardımcı olmak için github bu repo bulundu: github.com/StylingAndroid/AlertDialog
esilver

Yanıtlar:


363

Dialog.java'da (Android src) bir ContextThemeWrapper kullanılır. Böylece fikri kopyalayabilir ve şöyle bir şey yapabilirsiniz:

AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(this, R.style.AlertDialogCustom));

Ve sonra istediğiniz gibi şekillendirin:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AlertDialogCustom" parent="@android:style/Theme.Dialog">
        <item name="android:textColor">#00FF00</item>
        <item name="android:typeface">monospace</item>
        <item name="android:textSize">10sp</item>
    </style>
</resources>

62
@Android: style / AlertDialog kullanmayın. Herkese açık API'da değil. Sonuç olarak, Android 2.3.3'te, oluşturucu oluştururken çöküyor.
Catalin Morosan

18
@kaciula @android:style/Theme.DialogHerkese açık mı? Bunun yerine kullanılabilir mi?
HRJ

24
Evet. Herkese açık. Check out developer.android.com/reference/android/R.style.html tüm kamu stilleri listesi için. API'daki adlandırma kodunda kullanılandan farklıdır. "" Yerine "_" vardır. (Theme_Dialog)
Catalin Morosan

2
Yukarıdaki xml dosyasını nereye yerleştireceğim?
Chaitanya Chandurkar

3
Uyumluluk temalarının bir parçası olan daha yeni bir tema için, Theme.AppCompat.Light.Dialog.Alertstili özel stilinizin üst öğesi olarak kullanmanızı öneririm . Bunu Ama eğer, emin olun içe aktardığınız import android.support.v7.app.AlertDialog; değilimport android.app.AlertDialog
w3bshark

93

AlertDialogBurada açıklandığı gibi sdk 1.6 kullanarak bu tema ile ilgili sorun yaşıyordum : http://markmail.org/message/mj5ut56irkrkc4nr

Sorunu aşağıdakileri yaparak çözdüm:

  new AlertDialog.Builder(
  new ContextThemeWrapper(context, android.R.style.Theme_Dialog))

Bu yardımcı olur umarım.


2
Birkaç alakalı tema vardır; benim durumumda android.R.style.Theme_Holo_Dialog daha iyi bir uyum vardı. Harika bir ipucu.
Johnny O

78

Blogumda bir AlertDialog düzenini XML stili dosyalarla nasıl yapılandıracağına dair bir makale yazdım . Ana sorun, farklı düzen parametreleri için farklı stil tanımlarına ihtiyacınız olmasıdır. İşte metin boyutları ve arka plan renkleri gibi standart düzen unsurlarının bir kısmını kapsaması gereken bir stil dosyası için Holo Light Platform sürüm 19'un AlertDialog stiline dayanan bir kaynak plakası.

<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
    ...
    <item name="android:alertDialogTheme">@style/MyAlertDialogTheme</item>
    <item name="android:alertDialogStyle">@style/MyAlertDialogStyle</item>
    ...
</style>

<style name="MyBorderlessButton">
    <!-- Set background drawable and text size of the buttons here -->
    <item name="android:background">...</item>
    <item name="android:textSize">...</item>
</style>

<style name="MyButtonBar">
    <!-- Define a background for the button bar and a divider between the buttons here -->
    <item name="android:divider">....</item>
    <item name="android:dividerPadding">...</item>
    <item name="android:showDividers">...</item>
    <item name="android:background">...</item>
</style>

<style name="MyAlertDialogTitle">
    <item name="android:maxLines">1</item>
    <item name="android:scrollHorizontally">true</item>
</style>

<style name="MyAlertTextAppearance">
    <!-- Set text size and color of title and message here -->
    <item name="android:textSize"> ... </item>
    <item name="android:textColor">...</item>
</style>

<style name="MyAlertDialogTheme">
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowTitleStyle">@style/MyAlertDialogTitle</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item>
    <item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_minor</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:textAppearanceMedium">@style/MyAlertTextAppearance</item>
    <!-- If you don't want your own button bar style use
            @android:style/Holo.Light.ButtonBar.AlertDialog
            and
            ?android:attr/borderlessButtonStyle
         instead of @style/MyButtonBar and @style/MyBorderlessButton -->
    <item name="android:buttonBarStyle">@style/MyButtonBar</item>
    <item name="android:buttonBarButtonStyle">@style/MyBorderlessButton</item>
</style>

<style name="MyAlertDialogStyle">
    <!-- Define background colors of title, message, buttons, etc. here -->
    <item name="android:fullDark">...</item>
    <item name="android:topDark">...</item>
    <item name="android:centerDark">...</item>
    <item name="android:bottomDark">...</item>
    <item name="android:fullBright">...</item>
    <item name="android:topBright">...</item>
    <item name="android:centerBright">...</item>
    <item name="android:bottomBright">...</item>
    <item name="android:bottomMedium">...</item>
    <item name="android:centerMedium">...</item>
</style>

2
AlertDialog özelleştirmesi için neden stil ve temaya ihtiyacımız olduğunu sorabilir miyim? Çok teşekkürler! @nantoka
brainvision

2
@brainvision Blog girişimin ayrıntıları var, ancak kısaca AlertDialog'un düzeni, farklı düzen param dosyaları kullanan iki farklı sınıftan (Dialog ve AlertController) geliyor.
Nantoka

46
 <style name="AlertDialogCustom" parent="Theme.AppCompat.Light.Dialog.Alert">
    <!-- Used for the buttons -->
    <item name="colorAccent">@color/colorAccent</item>
    <!-- Used for the title and text -->
    <item name="android:textColorPrimary">#FFFFFF</item>
    <!-- Used for the background -->
    <item name="android:background">@color/teal</item>
</style>





new AlertDialog.Builder(new ContextThemeWrapper(context,R.style.AlertDialogCustom))
            .setMessage(Html.fromHtml(Msg))
            .setPositiveButton(posBtn, okListener)
            .setNegativeButton(negBtn, null)
            .create()
            .show();

3
En basit ama hızlı çözüm!
FonzTech

4
Tamam, "AppTheme" de global olarak bildirmek için bazı özellikleri kullanmaya ne dersiniz?
deadfish

2
Bu, iletişim kutusunun düğme renklerini değiştirmeme yardımcı oldu.
icarovirtual

1
Teşekkürler dostum, haftamı kurtardın !!
Clifton Steenkamp

31

Bununla uğraşıyordum - android:alertDialogStyle="@style/AlertDialog"temanızı kullanarak iletişim kutusunun arka planını şekillendirebilirsiniz, ancak sahip olduğunuz herhangi bir metin ayarını yok sayar. @Rflexor'un yukarıda belirttiği gibi, Honeycomb'dan önce SDK ile yapılamaz (iyi kullanabilirsiniz Reflection).

Kısacası çözümüm, yukarıdakileri kullanarak iletişim kutusunun arka planını şekillendirmek, ardından özel bir başlık ve içerik görünümü (SDK'ndakilerle aynı düzenleri kullanarak) ayarlamaktı.

Sargım:

import com.mypackage.R;

import android.app.AlertDialog;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

public class CustomAlertDialogBuilder extends AlertDialog.Builder {

    private final Context mContext;
    private TextView mTitle;
    private ImageView mIcon;
    private TextView mMessage;

    public CustomAlertDialogBuilder(Context context) {
        super(context);
        mContext = context; 

        View customTitle = View.inflate(mContext, R.layout.alert_dialog_title, null);
        mTitle = (TextView) customTitle.findViewById(R.id.alertTitle);
        mIcon = (ImageView) customTitle.findViewById(R.id.icon);
        setCustomTitle(customTitle);

        View customMessage = View.inflate(mContext, R.layout.alert_dialog_message, null);
        mMessage = (TextView) customMessage.findViewById(R.id.message);
        setView(customMessage);
    }

    @Override
    public CustomAlertDialogBuilder setTitle(int textResId) {
        mTitle.setText(textResId);
        return this;
    }
    @Override
    public CustomAlertDialogBuilder setTitle(CharSequence text) {
        mTitle.setText(text);
        return this;
    }

    @Override
    public CustomAlertDialogBuilder setMessage(int textResId) {
        mMessage.setText(textResId);
        return this;
    }

    @Override
    public CustomAlertDialogBuilder setMessage(CharSequence text) {
        mMessage.setText(text);
        return this;
    }

    @Override
    public CustomAlertDialogBuilder setIcon(int drawableResId) {
        mIcon.setImageResource(drawableResId);
        return this;
    }

    @Override
    public CustomAlertDialogBuilder setIcon(Drawable icon) {
        mIcon.setImageDrawable(icon);
        return this;
    }

}

alert_dialog_title.xml (SDK'dan alınmıştır)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    >
    <LinearLayout
            android:id="@+id/title_template"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="center_vertical"
            android:layout_marginTop="6dip"
            android:layout_marginBottom="9dip"
            android:layout_marginLeft="10dip"
            android:layout_marginRight="10dip">

            <ImageView android:id="@+id/icon"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="top"
                android:paddingTop="6dip"
                android:paddingRight="10dip"
                android:src="@drawable/ic_dialog_alert" />
            <TextView android:id="@+id/alertTitle"
                style="@style/?android:attr/textAppearanceLarge"
                android:singleLine="true"
                android:ellipsize="end"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" />
        </LinearLayout>
        <ImageView android:id="@+id/titleDivider"
            android:layout_width="fill_parent"
            android:layout_height="1dip"
            android:scaleType="fitXY"
            android:gravity="fill_horizontal"
            android:src="@drawable/divider_horizontal_bright" />
</LinearLayout>

alert_dialog_message.xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/scrollView"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingTop="2dip"
            android:paddingBottom="12dip"
            android:paddingLeft="14dip"
            android:paddingRight="10dip">
    <TextView android:id="@+id/message"
                style="?android:attr/textAppearanceMedium"
                android:textColor="@color/dark_grey"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:padding="5dip" />
</ScrollView>

Sonra iletişim kutularınızı oluşturmak CustomAlertDialogBuilderyerine kullanın ve her zamanki gibi AlertDialog.Builderarayın .setTitlesetMessage


3
android.R.internal.id.alerttitle'a nasıl eriştiniz?
Gilbert

2
Yapmadım, R.id.alertTitle'ye eriştim
Joseph Earl

28

Oluşturucu'yu başlattığınızda doğrudan bir tema atayabilirsiniz:

AlertDialog.Builder builder = new AlertDialog.Builder(
                    getActivity(), R.style.MyAlertDialogTheme);

Ardından temanızı values/styles.xml

<!-- Alert Dialog -->
<style name="MyAlertDialogTheme" parent="Theme.AppCompat.Dialog.Alert">
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:colorBackground">@color/alertDialogBackground</item>
    <item name="android:windowBackground">@color/alertDialogBackground</item>
</style>

1
Mükemmel. Kullandığım tek şeyTheme.AppCompat.Light.Dialog.Alert
ekashking

11

Özel İletişim Kutusu için:

iletişim kurucu super(context,R.style.<dialog style>)yerine çağırsuper(context)

public class MyDialog extends Dialog
{
    public MyDialog(Context context)
    {
       super(context, R.style.Theme_AppCompat_Light_Dialog_Alert)
    }
}


AlertDialog için:

Bu kurucu ile alertDialog oluşturmanız yeterlidir:

 new AlertDialog.Builder(
 new ContextThemeWrapper(context, android.R.style.Theme_Dialog))

1
Dialog'u yeni bir boş sınıfla genişletmeye gerek yok, çünkü zaten tema stilini alan bir yapıcı sürümü var.
FindOut_Quran

@FindOut_Quran Buradaki nokta, özel bir Dialog sınıfında stilin nasıl geçersiz kılınacağını göstermektir. Bu sadece bir örnek, gerçek Dialog sınıfınızda başka kodlar da olacak.
Niall

8

Sanırım bu yapılamaz. En azından Builder ile değil. 1.6 ile çalışıyorum ve Builder.create () uygulama:

public AlertDialog create() {
    final AlertDialog dialog = new AlertDialog(P.mContext);
    P.apply(dialog.mAlert);
    [...]
}

AlertDialog'un "temaya duyarlı olmayan" kurucusu olarak adlandırılan şuna benzer:

protected AlertDialog(Context context) {
    this(context, com.android.internal.R.style.Theme_Dialog_Alert);
}

Temaları değiştirmek için AlertDialog'da ikinci bir kurucu var:

protected AlertDialog(Context context, int theme) {
    super(context, theme);
    [...]
}

Oluşturucu sadece çağırmaz.

İletişim kutusu yine de oldukça genelse, ikinci yapıcıyı çağıran ve Builder mekanizması yerine bu sınıfı kullanan bir AlertDialog alt sınıfı yazmayı denerdim.


4

Bunu yapmanın daha iyi bir yolu, özel iletişim kutusunu kullanın ve ihtiyaçlarınıza göre özelleştirin, özel iletişim örneği ...

resim açıklamasını buraya girin

public class CustomDialogUI {
Dialog dialog;
Vibrator vib;
RelativeLayout rl;

@SuppressWarnings("static-access")
public void dialog(final Context context, String title, String message,
        final Runnable task) {
    dialog = new Dialog(context);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setContentView(R.layout.custom);
    dialog.setCancelable(false);
    TextView m = (TextView) dialog.findViewById(R.id.message);
    TextView t = (TextView) dialog.findViewById(R.id.title);
    final Button n = (Button) dialog.findViewById(R.id.button2);
    final Button p = (Button) dialog.findViewById(R.id.next_button);
    rl = (RelativeLayout) dialog.findViewById(R.id.rlmain);
    t.setText(bold(title));
    m.setText(message);
    dialog.show();
    n.setText(bold("Close"));
    p.setText(bold("Ok"));
    // color(context,rl);
    vib = (Vibrator) context.getSystemService(context.VIBRATOR_SERVICE);
    n.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            vib.vibrate(15);
            dialog.dismiss();
        }
    });
    p.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            vib.vibrate(20);
            dialog.dismiss();
            task.run();
        }
    });
}
 //customize text style bold italic....
public SpannableString bold(String s) {
    SpannableString spanString = new SpannableString(s);
    spanString.setSpan(new StyleSpan(Typeface.BOLD), 0,
            spanString.length(), 0);
    spanString.setSpan(new UnderlineSpan(), 0, spanString.length(), 0);
    // spanString.setSpan(new StyleSpan(Typeface.ITALIC), 0,
    // spanString.length(), 0);
    return spanString;
}

}

İşte xml düzeni

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00000000"
>

<RelativeLayout
    android:id="@+id/rlmain"
    android:layout_width="fill_parent"
    android:layout_height="150dip"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:background="#569CE3" >

    <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginLeft="25dip"
        android:layout_marginTop="10dip" >

        <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:text="Are you Sure?"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="#ffffff"
            android:textSize="13dip" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/relativeLayout2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/relativeLayout1"
        android:layout_alignRight="@+id/relativeLayout1"
        android:layout_below="@+id/relativeLayout1"
        android:layout_marginTop="5dip" >
    </RelativeLayout>

    <ProgressBar
        android:id="@+id/process"
        style="?android:attr/progressBarStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="3dip"
        android:layout_marginTop="3dip" />

    <RelativeLayout
        android:id="@+id/relativeLayout3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/relativeLayout2"
        android:layout_below="@+id/relativeLayout2"
        android:layout_toLeftOf="@+id/process" >

        <TextView
            android:id="@+id/message"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:text="Medium Text"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="#ffffff"
            android:textSize="13dip"/>

    </RelativeLayout>

    <Button
        android:id="@+id/next_button"
        android:layout_width="90dip"
        android:layout_height="35dip"
        android:layout_alignParentBottom="true"
        android:textColor="@drawable/button_text_color"
         android:background="@drawable/blue_button"
         android:layout_marginBottom="5dp"
           android:textSize="10dp"

        android:layout_alignRight="@+id/relativeLayout3"
        android:text="Okay" />

    <Button
        android:id="@+id/button2"
        android:text="Cancel"
        android:textColor="@drawable/button_text_color"
        android:layout_width="90dip"
        android:layout_height="35dip"
        android:layout_marginBottom="5dp"
         android:background="@drawable/blue_button"
         android:layout_marginRight="7dp"
        android:textSize="10dp"
        android:layout_alignParentBottom="true"
        android:layout_toLeftOf="@+id/next_button"
         />

</RelativeLayout>


7
Özel görünüm oluşturma ve kullanma 2 farklı şeydir ve farklı amaçları vardır.
jmc34

3

Bunu bir Fragment içinde yapmaya çalışan herkes (destek kitaplığını yani API öncesi 11'i kullanarak) aşağıdakileri yapmalıdır:

public class LoadingDialogFragment extends DialogFragment {
    public static final String ID = "loadingDialog";

    public static LoadingDialogFragment newInstance() {
        LoadingDialogFragment f = new LoadingDialogFragment();

        return f;
    }

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        StyleAlertDialog adb = new StyleAlertDialog(getActivity(), R.style.Your_Style);
        adb.setView(getActivity().getLayoutInflater().inflate(R.layout.fragment_dialog_layout, null));
        return adb;
    }

    private class StyleAlertDialog extends AlertDialog {
        protected StyleAlertDialog(Context context, int theme) {
            super(context, theme);
        }
    }
}

@Rflexor bana AlertDialog'u genişletme ve kurucu sayesinde teşhir etme dürtüsü verdi


Yapıcı AlertDialog.Builder(Context, int)yalnızca API 11 ve üstü üzerinde çalışır. Kodunuz önceki Android sürümlerinde kilitlenir.
Joseph Earl

@JosephEarl (destek kitaplığı yani API öncesi 11 kullanılarak)
Blundell

Benim hatam, iletişim kurucusunu değil , iletişim kurucusunu kullanıyorsunuz.
Joseph Earl

2

Arve Waltin'in çözümü iyi görünüyor, ancak henüz test etmedim. Durumda başka çözüm işe .... uzatın çıkardın sorun var yoktur AlertDialog.Builder(örn. Ve tüm yöntemleri geçersiz setText, setTitle, setViewgerçek Diyalog metin / başlık / görünümünü ayarlamak değil, vs) ancak içinde yeni bir görünüm oluşturmak için İletişim Kutusu Görünümü orada her şeyi yapar. O zaman her şeyi istediğiniz gibi şekillendirmekte özgürsünüz.

Üst sınıf söz konusu olduğunda, Görünüm ayarlanmıştır ve başka hiçbir şey açıklığa kavuşturulmamıştır.

Özel genişletilmiş sınıfınız söz konusu olduğunda, her şey bu görünüm içinde yapılır.


0

Arve çözümünün görünümü LayoutInflator aracılığıyla şişirildiği özel bir iletişim kutusunda nasıl çalışacağından emin değilim.

Çözüm, ContextThemeWrapper'ı şişiriciye şu şekilde yerleştirmek olmalıdır cloneInContext():

View sensorView = LayoutInflater.from(context).cloneInContext(
     new ContextThemeWrapper(context, R.style.AppTheme_DialogLight)
).inflate(R.layout.dialog_fingerprint, null);

-1

Sadece Builder's setView () kullanarak yapılabilir. Seçtiğiniz herhangi bir görünümü oluşturabilir ve oluşturucuya besleyebilirsiniz. Bu iyi çalışıyor. İletişim oluşturucu tarafından işlenen özel bir TextView kullanıyorum. İletiyi ayarlamıyorum ve bu alan benim özel metin görünümümü oluşturmak için kullanılıyor.


-12
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Title");
builder.setMessage("Description");
builder.setPositiveButton("OK", null);
builder.setNegativeButton("Cancel", null);
builder.show();

Kodunuzu yerleşik kod snippet'i ile biçimlendirmek ister misiniz?
Adriano
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.