2013-07-05 9 views

उत्तर

34

आप मूल रूप से RelativeLayout उपयोग कर सकते हैं या LinearLayout यह अभी भी काम करेंगे, लेकिन अपने प्रश्न का जवाब FrameLayout के दस्तावेज में है:

FrameLayout स्क्रीन पर एक क्षेत्र को रोकने एक प्रदर्शित करने के लिए डिज़ाइन किया गया है एक चीज। आम तौर पर, फ्रेमलेआउट को बच्चे के दृश्य को पकड़ने के लिए उपयोग किया जाना चाहिए, क्योंकि में बच्चों के विचारों को व्यवस्थित करना मुश्किल हो सकता है जो बच्चों के बिना अलग-अलग स्क्रीन आकारों के स्केलेबल हैं एक दूसरे को ओवरलैप करना। हालांकि, आप फ़्रेमलेआउट में कई बच्चों को जोड़ सकते हैं और द्वारा एंड्रॉइड का उपयोग करके प्रत्येक बच्चे को गुरुत्वाकर्षण निर्दिष्ट करके फ्रेमलेआउट के भीतर अपनी स्थिति को नियंत्रित कर सकते हैं: layout_gravity विशेषता।

आप FrameLayout यहाँ के बारे में अधिक पढ़ सकते हैं: FrameLayout/Android Developers

14

फ्रेम लेआउट का मुख्य उद्देश्य क्षेत्र के सबसे बड़े बच्चे दृश्य में फिट करने के लिए आवश्यक ब्लॉक करने के लिए है। यदि आप फ़्रेम लेआउट का उपयोग फ्रैगमेंट कंटेनर के रूप में करते हैं तो आप यह सुनिश्चित कर सकते हैं कि आपके पास हमेशा सबसे बड़ा खंड लेआउट समायोजित करने के लिए उपलब्ध स्थान हो।

कुछ मामलों में आपको एक साथ स्क्रीन पर 1 से अधिक टुकड़े की आवश्यकता हो सकती है, उस मामले में आपको सापेक्ष या रैखिक लेआउट पसंद करना चाहिए।

1

सब कुछ उपयोगकर्ता आवश्यकताओं और अनुकूलन की आवश्यकता पर आधारित है।

फ़्रेमलेआउट का उपयोग करना आवश्यक नहीं है।

उदाहरण के लिए नीचे दिए गए कोड में कोई लेआउट नहीं लिया गया है, और खंड में ही केवल एक छविदृश्य होता है।

public class MyFragment extends Fragment implements OnClickListener{ 

    String TAG="MyFragment"; 
    Context c; 
    MyFragment(Context con){ 
    c=con; 
    } 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
    } 
    @Override 
    public void onActivityCreated(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onActivityCreated(savedInstanceState); 
    } 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 

     ImageView v=new ImageView(c); 
      //other imageview stuff 

     return v; 
    } 
    @Overrides 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     Log.i(TAG, "onClcik"); 

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