Nasıl android Özel bir İletişim kutusu oluşturmak için?
Aşağıdaki gibi özel bir iletişim kutusu oluşturmak istiyorum
Şunları denedim.
Bir örnek oluşturdumAlertDialog.Builderve özel bir Başlık ve Özel İçeriği Görüntülemek kullanılan ve kullanılmış ama sonuç beklendiği gibi oldu.
Başka bir deneme alt sınıf içinDialogFragmentve onCreateDialog içi iletişim özelleştiren ama sonuç beklendiği gibi oldu.
Sonra normal kullanmaya çalıştımİletişimsınıf. Sonuç beklendiği gibi değil.
Her üç durumda, sorun olduğunda bunu göz ardı başlık görünüm boyutu iletişim olarak beklenen ve ne zaman kullanırım Başlık görüntülemek sonuç var. kalın bir sınır etrafında içeriği (gerçekten kötü görünüyor). Şimdi aklımda iki soru var...
Bunu nasıl elde edebilirsiniz? Zaten o kadar çok şey denedim gibi, doğrudan bir cevap daha fazla takdir edilecektir.
Android uygulaması hata veya bir uyarı iletişim kutusunu göstermek için en iyi yolu nedir?
EDİT Android Developer Documentation kullanıcı için Hata / Uyarı Mesajları göstermek için ya DialogFragments veya Kutuları kullanmalıyız önerir. Ancak bir noktada söylediler
Eğer özel bir iletişim istiyorsanız, İletişim API kullanmak yerine, bir iletişim olarak Faaliyet göstermek yerine. ipucu: Sadece bir etkinlik oluşturun ve Tema için bir tema belirleyin.Holo.Manifest öğesinin iletişim.
Bunun anlamı nedir? Çok fazla hata iletisi göstermelik bir Aktivite kullanmak için?? değil mi?
CEVAP
Burada basit bir İletişim oluşturmak var.
gibi :
custom_dialog.xml
<?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="80dp"
android:background="#3E80B4"
android:orientation="vertical" >
<TextView
android:id="@ id/txt_dia"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="10dp"
android:text="Do you realy want to exit ?"
android:textColor="@android:color/white"
android:textSize="15dp"
android:textStyle="bold"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#3E80B4"
android:orientation="horizontal" >
<Button
android:id="@ id/btn_yes"
android:layout_width="100dp"
android:layout_height="30dp"
android:background="@android:color/white"
android:clickable="true"
android:text="Yes"
android:textColor="#5DBCD2"
android:textStyle="bold" />
<Button
android:id="@ id/btn_no"
android:layout_width="100dp"
android:layout_height="30dp"
android:layout_marginLeft="5dp"
android:background="@android:color/white"
android:clickable="true"
android:text="No"
android:textColor="#5DBCD2"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
7 ** ve implements OnClickListener
public class CustomDialogClass extends Dialog implements
android.view.View.OnClickListener {
public Activity c;
public Dialog d;
public Button yes, no;
public CustomDialogClass(Activity a) {
super(a);
// TODO Auto-generated constructor stub
this.c = a;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.custom_dialog);
yes = (Button) findViewById(R.id.btn_yes);
no = (Button) findViewById(R.id.btn_no);
yes.setOnClickListener(this);
no.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_yes:
c.finish();
break;
case R.id.btn_no:
dismiss();
break;
default:
break;
}
dismiss();
}
}
Nasıl İletişim Çağrı ?
R.id.TXT_Exit:
CustomDialogClass cdd=new CustomDialogClass(Values.this);
cdd.show();
Güncelleştirmeleri
Uzun zaman sonra bir arkadaşım bana kavisli şekli şeffaf arka plan ile iletişim yapmak istedi. Yani, Burada bunu uygulamak zorundayım.
Kavisli Yapmak curve_shap.XML
ayrı olarak aşağıda oluşturmak için gereken şekil
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="#000000" />
<stroke
android:width="2dp"
android:color="#ffffff" />
<corners
android:bottomLeftRadius="20dp"
android:bottomRightRadius="20dp"
android:topLeftRadius="20dp"
android:topRightRadius="20dp" />
</shape>
Şimdi, bu curve_shap.XML
ana görünümünde düzeninize ekleyin. Benim durumumda 14* *ihtiyacım var
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="80dp"
android:background="@drawable/curve_shap"
android:orientation="vertical" >
...
</LinearLayout>
Nasıl bu ara ?
CustomDialogClass cdd = new CustomDialogClass(MainActivity.this);
cdd.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
cdd.show();
Sizin için umarım işe yarar.
Nasıl Android Evet/Hayır iletişim kutu...
Bir başlık olmadan bir İletişim oluştu...
Kullanıcı nasıl bir Android etkinlikte...
Nasıl tıklanabilir bir etiket olan bir...
Nasıl Android Şeffaf Etkinlik oluşturm...