Xamarin.forms: [خطأ] يدفع CarouselView التنسيقات الأخرى ويستهلك كل المساحة

تم إنشاؤها على ٢٤ نوفمبر ٢٠١٩  ·  17تعليقات  ·  مصدر: xamarin/Xamarin.Forms

وصف

يستهلك CarouselView كل المساحة الرأسية في تخطيطي ، إلا إذا أعطيته حجمًا. لكنني لا أعرف الارتفاع لأعطيه ب / ج أريده بحجم المحتوى الخاص بي. يرجى السماح لي بحجم المحتوى الخاص بي ، إما الارتفاع أو العرض؟

<StackLayout Margin="15">
            <Frame BackgroundColor="White"
                   Padding="10"
                   BorderColor="Black"
                   CornerRadius="0">
                <CarouselView>
                    <CarouselView.ItemsSource>
                        <x:Array Type="{x:Type x:String}">
                            <x:String>rei_01.jpg</x:String>
                            <x:String>rei_02.jpg</x:String>
                            <x:String>rei_03.jpg</x:String>
                            <x:String>rei_04.jpg</x:String>
                        </x:Array>
                    </CarouselView.ItemsSource>
                    <CarouselView.ItemTemplate>
                        <DataTemplate>
                            <Image Source="{Binding .}"/>
                        </DataTemplate>
                    </CarouselView.ItemTemplate>
                </CarouselView>
            </Frame>

        </StackLayout>

سلوك متوقع

Carousel عرض أحجام المحتوى الخاص بي وتوفير تخطيط متسق عبر أحجام الشاشات المختلفة.

السلوك الفعلي

تستهلك CarouselView كل المساحة في التخطيط ، حتى أنها تدفع التخطيطات الأخرى بعيدًا عن الأنظار. لا بد لي من تحديد ارتفاع لتحقيق النتائج التي أريدها على هذه الشاشة ، لكنها ستبدو خاطئة على شاشات الأحجام الأخرى.

معلومات اساسية

  • الإصدار الذي يحتوي على الإصدار: 4.4.0-pre2
  • الأطر المستهدفة للمنصة:

    • أندرويد: 10

لقطات

كل ارتفاع مستهلك:

bug-cv-allheight

ارتفاع ثابت (التخمين):

bug-cv-fixedheight

رابط الاستنساخ

https://github.com/davidortinau/CarouselGallery/blob/master/CarouselGallery/CarouselGallery/Views/REIPage.xaml

carouselview collectionview blocker 3 high impact Android bug

التعليق الأكثر فائدة

في هذه الأثناء ، أكتب الكثير من التعليمات البرمجية لحل الأخطاء مثل هذا لدرجة أن ميزة النظام الأساسي بالكامل تتلاشى ... لقد استخدمت طلب ارتفاع ثابت في CarouselView لتجنب تغيير حجم الارتفاع غير المحدود ، ولكن - كما يمكنك أن تفترض - يتسبب هذا في حدوث جديد مشاكل.

ال 17 كومينتر

أكد أن هذا يحدث. جربت شيئين مختلفين لجعله يتناسب مع حجم المحتوى ، ولكن يبدو أنه يأخذ دائمًا الارتفاع الكامل المتاح. يحدث على Android.

على نظام iOS هو NREs تمامًا ، يكون تتبع المكدس أدناه. لست متأكدًا من أنه مرتبط بهذا بالرغم من ذلك. يبدو أن خطأ iOS يمثل مشكلة في شل

في System.Reflection.RuntimeConstructorInfo.InternalInvoke (System.Object obj، System.Object [] معلمات ، System.Boolean wrapExceptions) [0x00018] في / Users / builder / jenkins / workspace / xamarin-macios / xamarin-macios / External / mono /mcs/class/corlib/System.Reflection/RuntimeMethodInfo.cs:944
في System.RuntimeType.CreateInstanceMono (System.Boolean nonPublic، System.Boolean wrapExceptions) [0x00095] في / Users / builder / jenkins / workspace / xamarin-macios / xamarin-macios / external / mono / mcs / class / corlib / ReferenceSources / RuntimeType.cs: 185
في System.RuntimeType.CreateInstanceSlow (System.Boolean publicOnly، System.Boolean wrapExceptions، System.Boolean skipCheckThis، System.Boolean fillCache) [0x00009] في / Users / builder / jenkins / workspace / xamarin-macios / xamarin-macios / external / أحادي / mcs / class / corlib / ReferenceSources / RuntimeType.cs: 155
في System.RuntimeType.CreateInstanceDefaultCtor (System.Boolean publicOnly، System.Boolean skipCheckThis، System.Boolean fillCache، System.Boolean wrapExceptions، System.Threading.StackCrawlMark & ​​stackMark) [0x00027] في / Users / builder / xarin-xarin / workspace /xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/rttype.cs:5770
في System.Activator.CreateInstance (System.Type type، System.Boolean nonPublic، System.Boolean wrapExceptions) [0x00039] في / Users / builder / jenkins / workspace / xamarin-macios / xamarin-macios / external / mono / mcs / class /referencesource/mscorlib/system/activator.cs:206
في System.Activator.CreateInstance (نوع System.Type ، System.Boolean nonPublic) [0x00000] في / Users / builder / jenkins / workspace / xamarin-macios / xamarin-macios / external / mono / mcs / class / sourcesource / mscorlib / system / activator.cs: 190
في System.Activator.CreateInstance (نوع System.Type) [0x00000] في /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/activator.cs : 134
في Xamarin.Forms.ElementTemplate + <> c__DisplayClass4_0. <. ctor> b__0 () [0x00000] في d: agent1sXamarin.Forms.CoreElementTemplate.cs: 26
في Xamarin.Forms.ElementTemplate.CreateContent () [0x00031] في d: agent1sXamarin.Forms.CoreElementTemplate.cs: 82
في Xamarin.Forms.Internals.DataTemplateExtensions.CreateContent (Xamarin.Forms.DataTemplate self ، System.Object item ، Xamarin.Forms.BindableObject container) [0x00001] في d: agent1sXamarin.Forms.CoreDataTemplateExtensions.cs: 19
في Xamarin.Forms.ShellContent.Xamarin.Forms.IShellContentController.GetOrCreateContent () [0x00036] في d: agent1sXamarin.Forms.CoreShellShellContent.cs: 61
في Xamarin.Forms.Platform.iOS.ShellSectionRootRenderer.LoadRenderers () [0x00024] في d: agent1sXamarin.Forms.Platform.iOSRenderersShellSectionRootRenderer.cs: 145
في Xamarin.Forms.Platform.iOS.ShellSectionRootRenderer.ViewDidLoad () [0x0003b] في d: agent1sXamarin.Forms.Platform.iOSRenderersShellSectionRootRenderer.cs: 63
في (برنامج التضمين مُدار إلى أصلي) UIKit.UIApplication.UIApplicationMain (int ، سلسلة [] ، intptr ، intptr)
في UIKit.UIApplication.Main (System.String [] args ، System.IntPtr الأساسي ، System.IntPtr مفوض) [0x00005] في /Library/Frameworks/Xamarin.iOS.framework/Versions/13.8.2.2/src/Xamarin.iOS /UIKit/UIApplication.cs:86
في UIKit.UIApplication.Main (System.String [] args، System.String basicClassName، System.String DelegateClassName) [0x0000e] في /Library/Frameworks/Xamarin.iOS.framework/Versions/13.8.2.2/src/Xamarin.iOS /UIKit/UIApplication.cs:65
في CarouselGallery.iOS.Application.Main (System.String [] args) [0x00001] في /Users/jfversluis/Downloads/CarouselGallery-master/CarouselGallery/CarouselGallery.iOS/Main.cs:17

تضمين التغريدة
بينغ. أي تقدم في هذا؟ مع هذا الخطأ CarouselView غير قابل للاستخدام.

بعد التحدث مع ez ، أعتقد أن هذه مشكلة نحتاج إلى النظر فيها أيضًا مع CollectionView ، وسنرى كيفية إصلاح ذلك.

كحل بديل ، فإنه يعمل إذا قمت بوضعه في تكديس

كحل بديل ، فإنه يعمل إذا قمت بوضعه في تكديس

ولكن في نموذج التعليمات البرمجية لـ davidortinau ، تم وضع CarouselView بالفعل داخل StackLayout. كيف من المفترض أن يعمل الحل الخاص بك؟

samhouts هل هناك أي تقدم في هذا؟ إنها مشكلة كبيرة بالنسبة لي أجهزة الصراف الآلي
92681524_158411695451139_3418474344739766272_n (1)

أود أن أرى إصلاحًا لهذا أيضًا.

نتطلع إلى رؤية هذه المشكلة ثابتة لـ CollectionView. يبدو أنه تتم معالجة مشكلات المساحة مع كليهما في نفس الوقت. لقد أمضيت للتو مجموعة من الوقت في محاولة لمعرفة سبب عدم وضع تخطيطي ، الذي يتضمن مجموعتين من CollectionViews ، كما توقعت.

مفتوح 24 نوفمبر 2019 ... هل من أخبار؟

تضمين التغريدة
مع هذا الخطأ ، يكون CarouselView غير قابل للاستخدام. هل هذا سيتم إصلاحه؟

فريق Xamarin ، لا يمكن استخدام هذه المكونات في بيئة الإنتاج في الوقت الحالي. هذا العدد مفتوح منذ أواخر عام 2019. ماذا يحدث؟ إذا تم كسرها ولن يتم إصلاحها ، فيرجى إهمالها لإعلام المطورين ، بدلاً من السماح لهم بإضاعة الوقت في شيء لن يعمل في النهاية. من الأفضل أن تكون قديمة حيث أن التوقع هو أنها قد لا تعمل أو يتم إصلاحها.
شكر!

فقط لكي تعرف، الإختراق قذرة جدا أن تشترك لتغيير حجم عرض عنصر يمكن استخدامها لتعيين يدويا الطول وCollectionView بشكل مناسب، إذا كنت بحاجة للغاية لاستخدام CollectionView. لكني أود أيضًا أن أرى هذا يعمل خارج الصندوق. :)

في هذه الأثناء ، أكتب الكثير من التعليمات البرمجية لحل الأخطاء مثل هذا لدرجة أن ميزة النظام الأساسي بالكامل تتلاشى ... لقد استخدمت طلب ارتفاع ثابت في CarouselView لتجنب تغيير حجم الارتفاع غير المحدود ، ولكن - كما يمكنك أن تفترض - يتسبب هذا في حدوث جديد مشاكل.

اي كلمة في هذا؟ في كل مرة أرغب في استخدام CollectionView أو CarouselView أشعر بالحروق بسبب هذه المشكلة وأضطر إلى اللجوء إلى مكرري العملاء أو التخطيطات القابلة للربط. إنه لأمر مخيب للآمال أن هذا لم يتم منحه أولوية عالية خاصة وأن CollectionView خارج المعاينة.

الرجاء إصلاح هذا ، هذا يؤثر كثيرًا ، لدي عرض للمجموعة وعرض دائري في نفس الصفحة وهذا يقتلني ..

نعم أواجه نفس المشكلة هنا

هل وجد أي شخص حلاً لهذه المشكلة؟

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات