2011-07-06 9 views
13

मुझे इस तरह के लेआउट को लागू करना है; लेआउट सामग्री को लपेटना चाहिए यदि इसमें सामग्री कम है। यदि सामग्री कुछ आकार से परे हो जाती है, जैसे कि 300 डीपी, इसे अधिकतम हेगेट (300 डीपी) पर सेट किया जाना चाहिए और वह स्क्रॉल करने में सक्षम होना चाहिए। क्या ऐसा कोई काम नहीं है, अगर कोई कामकाज नहीं है?एंड्रॉइड में लेआउट की अधिकतम ऊंचाई कैसे सेट करें?

+0

क्या आपको इस पर कोई समाधान मिल गया है? – rizzz86

+1

मुझे 'maxHeight'' को स्क्रॉल व्यू 'प्रदान करने का समाधान मिला है। उस समाधान का उपयोग किसी भी प्रकार के दृश्य के लिए भी किया जा सकता है। इस तरह के एक सरल और आसान तरीके के लिए कृपया http://chintanrathod.com/maxheightscrollview-in-android-using-android-studio/ –

उत्तर

7

आप डिवाइस का प्रदर्शन आकार पा सकते हैं। प्रदर्शन आकार के अनुसार आप layout params सेट कर सकते हैं। उदाहरण के लिए, यदि प्रदर्शन आकार 300dp से कम है, तो आप heightwrap content के रूप में सेट कर सकते हैं। यदि 300dp से अधिक का अर्थ है height300dp के रूप में सेट करें।

WindowManager wm = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE); 


    DisplayMetrics metrics = new DisplayMetrics(); 
    wm.getDefaultDisplay().getMetrics(metrics); 


    //here you can get height of the device. 
    Log.d("check", metrics.heightPixels+""); 
    if(metrics.heightPixels< 300) 
    { 
     this.getWindow().setLayout(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); 

    } 
    else { 
     this.getWindow().setLayout(LayoutParams.WRAP_CONTENT,300); 

    } 

आशा है कि यह एक आप मदद कर सकते हैं:

यहाँ उदाहरण कोड है।

+1

+1 पर और पढ़ें। –

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