2011-05-31 15 views
17

संवाद गतिविधियों से संबंधित इस तरह के प्रश्न हैं और इन पूर्ण स्क्रीन को कैसे बनाया जाए, लेकिन मुझे थोड़ा अलग समस्या है। मैं इन संवादों को गतिविधि सामग्री को लपेटना चाहता हूं।सामग्री को लपेटने के लिए संवाद गतिविधि

अब

, "संवाद गतिविधियों" सभी निम्नलिखित विषय के वारिस,

<style name="tabDialog" parent="@android:Theme.Dialog"> 
    <item name="android:windowBackground">@drawable/panel_background</item> 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:windowFullscreen">false</item> 
</style> 

प्रकट में गतिविधि परिभाषा का उदाहरण,

<activity android:name=".TabSettingsActivity" 
    android:theme="@style/tabDialog" android:excludeFromRecents="true" 
    android:configChanges="keyboardHidden" /> 

सामग्री देखने जनक दृश्य इस तरह परिभाषित किया गया है,

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" android:layout_height="wrap_content" 
    android:background="@layout/dialog_rounded_background" 
    android:orientation="vertical"> 

और लेआउट में सभी बच्चे के दृश्य दोनों आयामों के लिए wrap_content भी निर्दिष्ट करते हैं रों। मैंने माता-पिता के रूप में एक रिलेवेटिवआउट का उपयोग करने का प्रयास किया है, लेकिन वही है।

के बाद सामग्री को देखने की गतिविधि के onCreate में स्थापित किया गया है, मैं इन चीजों की इस

getWindow().setLayout(LayoutParams.WRAP_CONTENT, 
       LayoutParams.WRAP_CONTENT); 

कोई भी वास्तव में सब पर कोई फर्क लगते है। समस्या ज्यादातर संवाद ऊंचाई से संबंधित है, जो आवश्यक से लगभग 50% अधिक है। संवाद का आधा हिस्सा सिर्फ मृत स्थान है। हार्डकोडेड डीपी इकाइयों को रूट व्यू आयामों को सेट करने से समस्या हल हो जाती है, लेकिन यह समाधान के बजाए कामकाज की तरह लगता है।

कोई भी विचार किसी को भी?

अग्रिम धन्यवाद।

चीयर्स

+1

क्या आपने समस्या हल की है? यदि हां, तो कृपया मुझे बताएं। – Christian

+0

हाय, क्या आपने एक फिक्स ढूंढने में कामयाब रहा? धन्यवाद – Paul

+0

क्या आप 'डायलॉग' का उपयोग 'गतिविधि' के रूप में कर रहे हैं या आप 'गतिविधि' के रूप में 'गतिविधि' के रूप में उपयोग कर रहे हैं? क्यूं कर? – Xcihnegn

उत्तर

1

layout_margin सेट करके देखें। यदि यह विफल रहता है तो नियमित गतिविधि पैडिंग और मार्जिन दोष दे सकते हैं।

1

मैं एक DialogFragment उपयोग कर रहा हूँ और यह अच्छी तरह करता है, तो आप का उपयोग setStyle

public class MyDialogFragment extends DialogFragment { 
     public MyDialogFragment() { 
      setStyle(STYLE_NO_FRAME, android.R.style.Theme_Dialog); 
     } 
    } 
3

इस आजमाएँ काम करता है। यह मेरी समस्या हल हो गई।

<style name="NewDialog" parent="@android:style/Theme.Dialog"> 
     <item name="android:windowFrame">@null</item> 
     <item name="android:windowBackground">@android:color/transparent</item> 
     <item name="android:windowIsFloating">true</item> 
     <item name="android:windowContentOverlay">@null</item> 
     <item name="android:windowTitleStyle">@null</item> 
     <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> 
     <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item> 
     <item name="android:backgroundDimEnabled">false</item> 
     <item name="android:background">@android:color/transparent</item> 
    </style> 
+0

मेरे लिए काम नहीं किया –

+0

इनमें से अधिकतर कोड कुछ भी नहीं करता है (=> मूल शैली में पहले से परिभाषित है)। एकमात्र चीज जिसे आप बदल रहे हैं वह पृष्ठभूमि रंग को पारदर्शी और शीर्षक शैली को हटाने के लिए सेट कर रहा है (जो कि कोई प्रभाव नहीं प्रतीत होता है) – Aenadon

2

माता-पिता को ध्यान में रखते संवाद पृष्ठभूमि क्योंकि यह बड़ा अपने स्क्रीन आकार के रूप में के रूप में हो सकता है "dialog_rounded_background" आप उपयोग कर रहे समस्या है। कृपया इसे जांचें।

1

इसके लिए अनुकूलित संवाद का उपयोग करें।

पैरेंट layout_width से fill_parent पर स्क्रीन भरने के लिए बस xml लेआउट सेट करें।

1

, बस आप चौड़ाई और Android डिवाइस स्क्रीन की ऊंचाई प्राप्त कर सकते हैं द्वारा:

//Define the size of layout 
    Display display = getWindowManager().getDefaultDisplay(); 
    int widths = display.getWidth(); 
    int heights = display.getHeight(); 

तो फिर तुम चौड़ाई या ऊंचाई इन मूल्यों के आधार पर निर्दिष्ट कर सकते हैं! के रूप में:

getWindow().setLayout(widths , 
         heights); 

आशा इस उपयोगी होगा :) ,,,

1

उपयोग Theme.AppCompat.Light.Dialog.Alert विषय बजाय .. यह सामग्री रैप करने के लिए संवाद ऊंचाई लपेटो जाएगा।

संबंधित मुद्दे