"आकार बदलता नहीं है" मुझे अलर्टडिअलॉग और कस्टम सामग्री/दृश्य के साथ समस्या का सामना करना पड़ रहा है। बस कहा कि सॉर्टकीबोर्ड खोले जाने पर अलर्टडिअलॉग स्वयं का आकार बदलता नहीं है। निम्नलिखित स्क्रीनशॉट सबसे अच्छा दिखाने मैं क्या मेरी समस्या है और क्या हासिल करना चाहते:कस्टम व्यू के साथ अलर्टडिअलॉग
वर्तमान व्यवहार (बाएं) & व्यवहार करना चाहता था (दाएं)
मैं एक के साथ एक कुछ अन्य धागे वहाँ पता एसओ पर भी इसी तरह की समस्या। दुर्भाग्य से प्रदान किए गए समाधानों में से कोई भी मेरे लिए काम नहीं करता है। मेरे नमूना कोड के बाद:
एक्सएमएल
<?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>
जावा - 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();
}
}
वर्ग/समारोह ऊपर मेरी Main.java कक्षा में एक बटन प्रेस पर कहा जाता है
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();
}
});
मैंने निम्नलिखित चीजों को आजमाया है:
जोड़ा जा रहा है की तरह इस
android:scrollbars="vertical"
android:scrollbarAlwaysDrawVerticalTrack="true"
परिणाम LinearLayout को स्क्रॉलबार: कुछ भी नहीं
बदल संवाद के लिए एक ध्वज की स्थापना:
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
परिणाम: कुछ भी नहीं बदला
एक कस्टम को लागू करने AlertDialog की शैली:
<style name="AlertDialog" parent="@android:style/Theme.Holo.Light">
<item name="android:windowFullscreen">false</item>
</style>
जावा
builder = new AlertDialog.Builder(context, R.style.AlertDialog);
यह काम किया। दुर्भाग्य से यह कुछ समस्याओं जो आप निम्नलिखित स्क्रीनशॉट
के बाद से मैं दिनों के लिए इस मुद्दे के साथ संघर्ष कर रहा है मैं किसी भी मदद की सराहना करते हैं में देख सकते हैं का उत्पादन किया। धन्यवाद!
समाधान
अब मैं अपने CustomAlertDialog.class
में संवाद बनाने के लिए निम्न विधि का उपयोग कर रहा हूँ। अधिक जानकारी के लिए nandeesh के उत्तर के नीचे मेरी टिप्पणी देखें कि यह पहले क्यों काम नहीं किया था।
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();
}
उपयोग लेआउट वजन भी नहीं कर रहा हूँ । माता-पिता से मेल नहीं खाता – Doomsknight
match_parent चौड़ाई के लिए बिल्कुल ठीक है। इसके अलावा एक सिंगल लाइनरलाइट वजन कम करना संभव नहीं है। – reVerse
अच्छी तरह से बटन दिखाई नहीं देंगे क्योंकि आप संवाद में कस्टम दृश्य का उपयोग कर रहे हैं। और आपके द्वारा बटन को दिखाए जाने के बाद यह विशिष्ट थीम दी गई। मैं कस्टम बटन का भी उपयोग करता हूं अगर मैं संवाद में कस्टम व्यू तैयार करता। – k0sh