Xamarin प्रपत्र - एक पृष्ठ पर कई विचार [बंद]

Dec 09 2020

इसलिए मुझे एक पृष्ठ पर एकाधिक दृश्य प्राप्त करने की आवश्यकता है , कुछ इस तरह से , लेकिन मुझे ऐसा कोई रास्ता नहीं मिल रहा है जिससे यह संभव क्रॉस-प्लेटफ़ॉर्म हो। मैं देख सकता हूं कि IOS पर आप एक पृष्ठ पर कई दृश्य नियंत्रक जोड़कर इसे प्राप्त कर सकते हैं, लेकिन क्या यह xirarin रूपों में प्राप्त है?

कृपया मुझे बताएं कि क्या आपके पास इसका कोई अनुभव है।

अग्रिम में धन्यवाद!

जवाब

LucasZhang-MSFT Dec 09 2020 at 18:21

कई समाधान हैं जो इसे लागू कर सकते हैं। उदाहरण के लिए, आप स्वाइप दृश्य बनाने के लिए AbsoluteLayout का उपयोग कर सकते हैं ।

कन्टैंटपेज में

<AbsoluteLayout BackgroundColor="White" AbsoluteLayout.LayoutBounds="0,1,1,1">
        <!--  -->

        <Button Clicked="Button_Clicked" Text="Test"  AbsoluteLayout.LayoutBounds="0.5,0.3,0.2,0.05" AbsoluteLayout.LayoutFlags="All" />

        <StackLayout x:Name="bottomBar" BackgroundColor="Olive" AbsoluteLayout.LayoutBounds="0.5,1.0,1.0,0.04" AbsoluteLayout.LayoutFlags="All">
            

            <!-- put the content of swipe here -->

        </StackLayout>
    </AbsoluteLayout>

पीछे कोड में

    bool isShow;
    const double layoutPropHeightMax = 0.45;
    const double layoutPropHeightMin = 0.06;
   //you could set the height here as you want

    private void Button_Clicked(object sender, EventArgs e)
    {
        if(!isShow)
        {
            //show the keyboard

            Device.BeginInvokeOnMainThread(async () =>
            {

                var height = layoutPropHeightMin;

                while (height < layoutPropHeightMax)
                {
                    await Task.Delay(1);
                    height += 0.04;

                    AbsoluteLayout.SetLayoutBounds(bottomBar, new Rectangle(0.5, 1.0,1.0, height));
                }

            });

        }

        else
        {
            // hide the keyboard
            Device.BeginInvokeOnMainThread(async () =>
            {

                var height = layoutPropHeightMax;

                while (height > layoutPropHeightMin)
                {
                    await Task.Delay(1);
                    height -= 0.04;

                    AbsoluteLayout.SetLayoutBounds(bottomBar, new Rectangle(0.5, 1.0, 1.0, height));
                }

            });

        }


        isShow = !isShow;
    }

यहाँ एक ऐसा ही मुद्दा है जिसे आप संदर्भित कर सकते हैं।