AlertDialog ve özel içerik/görünüm ile bir sorunla karşı karşıyayım. Softkeyboard açıldığında AlertDialog'un kendini yeniden boyutlandırmayacağını söyleyin. Aşağıdaki ekran görüntüleri ı elde etmek istediğinizi benim sorundur ve en iyi ne gösterir: & davranışı istedi (solda)Özel görünüme sahip AlertDialog "yeniden boyutlandır" yapmadı
Güncel davranışı (sağ)
Ben bir başka konuları var biliyorum SO üzerinde benzer bir sorun. Ne yazık ki verilen çözümlerin hiçbiri benim için işe yaramadı. Benim örnek kod aşağıda verilmiştir:
XML
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
</EditText>
</LinearLayout>
</ScrollView>
Java - CustomAlertDialog.class
public class CustomAlertDialog extends AlertDialog{
private Context context;
public CustomAlertDialog(Context context) {
super(context);
this.context = context;
}
public void buildDialog(){
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.dialog_content, null);
builder = new AlertDialog.Builder(context);
builder.setTitle("EditText");
builder.setView(layout);
builder.setPositiveButton("Ok", new OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
dismiss();
}
});
builder.create();
}
public void showDialog(){
builder.show();
}
}
yukarıda benim Main.java sınıfında düğmesine basın üzerinde denir sınıf/fonksiyon
btnAlertDialog.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
CustomAlertDialog dialog = new CustomAlertDialog(Main.this);
dialog.buildDialog();
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
dialog.showDialog();
}
});
Aşağıdakileri denedim:
Buandroid:scrollbars="vertical"
android:scrollbarAlwaysDrawVerticalTrack="true"
Sonucu gibi LinearLayout için
ekleme kaydırma çubukları:
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
Sonuç: hiçbir şey değişmedi
bir uyarlama çalışması uygulanıyor hiçbir şey iletişim için bir bayrak ayarlama
değişti AlertDialog stili:<style name="AlertDialog" parent="@android:style/Theme.Holo.Light">
<item name="android:windowFullscreen">false</item>
</style>
Java
builder = new AlertDialog.Builder(context, R.style.AlertDialog);
Bu çalıştı. Ne yazık ki sen Günlerdir bu konuda mücadele ettik beri herhangi bir yardım takdir aşağıdaki ekran görüntüsünde
görebileceğiniz bazı sorunlar üretti. Teşekkürler!
ben artık CustomAlertDialog.class
İletişim Kutusu'na oluşturmak için aşağıdaki yöntemi kullanıyorum
Çözüm. Daha önce neden çalışmadığı hakkında daha fazla bilgi için nandeesh cevabının altındaki yorumuma bakın. Görünüm vb özel bir kullanırsanız
public void startDialog(){
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.dialog_content, null);
builder = new AlertDialog.Builder(context);
builder.setTitle("EditText");
builder.setView(layout);
builder.setPositiveButton("Ok", new OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
dismiss();
}
});
AlertDialog aDialog = builder.create();
aDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
aDialog.show();
}
kullanım düzeni ağırlıkları yayınlarsanız nerede emin değilim . Ebeveyn – Doomsknight
match_parent ile eşleşmez, genişlik için mükemmeldir. Ayrıca, tek bir LinearLayout ağırlığı vermek mümkün değildir. – reVerse
da temel olarak düğmeler, iletişim kutusuna özel görünümü kullandığınız için gösterilmiyor. ve belirli bir tema verdikten sonra düğme gösterdi. İletişim kutusuna özel bir görünüm oluşturmuş olsaydım özel düğmeler kullanırdım. – k0sh