Exemplo n.º 1
0
                public override View GetView(int position, View convertView, ViewGroup parent)
                {
                    SingleNewsListItem listItem = convertView as SingleNewsListItem;

                    if (listItem == null)
                    {
                        listItem = new SingleNewsListItem(Rock.Mobile.PlatformSpecific.Android.Core.Context);

                        int height = (int)System.Math.Ceiling(NavbarFragment.GetCurrentContainerDisplayWidth( ) * PrivateNewsConfig.NewsMainAspectRatio);
                        listItem.LayoutParameters = new AbsListView.LayoutParams(ViewGroup.LayoutParams.WrapContent, height);
                        listItem.HasImage         = false;
                    }
                    else
                    {
                        listItem.FreeImageResources( );
                    }

                    // if we have a valid item
                    if (position < ParentFragment.News.Count)
                    {
                        // is our image ready?
                        if (ParentFragment.News[position].Image != null)
                        {
                            if (listItem.HasImage == false)
                            {
                                listItem.HasImage = true;
                                Rock.Mobile.PlatformSpecific.Android.UI.Util.FadeView(listItem.Billboard, true, null);
                            }

                            listItem.Billboard.SetImageBitmap(ParentFragment.News[position].Image);
                        }
                        // only show the "Loading..." if the image isn't actually downloaded.
                        else if (ParentFragment.Placeholder != null)
                        {
                            listItem.Billboard.SetImageBitmap(ParentFragment.Placeholder);
                        }
                        else
                        {
                            listItem.Billboard.SetImageBitmap(null);
                        }

                        if (ParentFragment.News[position].News.Developer_Private)
                        {
                            listItem.PrivateOverlay.Visibility = ViewStates.Visible;
                        }
                        else
                        {
                            listItem.PrivateOverlay.Visibility = ViewStates.Gone;
                        }
                    }
                    else
                    {
                        listItem.Billboard.SetImageBitmap(null);
                        listItem.PrivateOverlay.Visibility = ViewStates.Gone;
                    }

                    return(base.AddView(listItem));
                }
                public override View GetView(int position, View convertView, ViewGroup parent)
                {
                    SingleNewsListItem listItem = convertView as SingleNewsListItem;
                    if ( listItem == null )
                    {
                        listItem = new SingleNewsListItem( Rock.Mobile.PlatformSpecific.Android.Core.Context );

                        int height = (int)System.Math.Ceiling( NavbarFragment.GetCurrentContainerDisplayWidth( ) * PrivateNewsConfig.NewsMainAspectRatio );
                        listItem.LayoutParameters = new AbsListView.LayoutParams( ViewGroup.LayoutParams.WrapContent, height );
                        listItem.HasImage = false;
                    }
                    else
                    {
                        listItem.FreeImageResources( );
                    }

                    // if we have a valid item
                    if ( position < ParentFragment.News.Count )
                    {
                        // is our image ready?
                        if ( ParentFragment.News[ position ].Image != null )
                        {
                            if ( listItem.HasImage == false )
                            {
                                listItem.HasImage = true;
                                Rock.Mobile.PlatformSpecific.Android.UI.Util.FadeView( listItem.Billboard, true, null );
                            }

                            listItem.Billboard.SetImageBitmap( ParentFragment.News[ position ].Image );
                        }
                        // only show the "Loading..." if the image isn't actually downloaded.
                        else if ( ParentFragment.Placeholder != null )
                        {
                            listItem.Billboard.SetImageBitmap( ParentFragment.Placeholder );
                        }
                        else
                        {
                            listItem.Billboard.SetImageBitmap( null );
                        }

                        if ( ParentFragment.News[ position ].News.Developer_Private )
                        {
                            listItem.PrivateOverlay.Visibility = ViewStates.Visible;
                        }
                        else
                        {
                            listItem.PrivateOverlay.Visibility = ViewStates.Gone;
                        }
                    }
                    else
                    {
                        listItem.Billboard.SetImageBitmap( null );
                        listItem.PrivateOverlay.Visibility = ViewStates.Gone;
                    }

                    return base.AddView( listItem );
                }
Exemplo n.º 3
0
                ListAdapter.ListItemView GetPrimaryView( int position, View convertView, ViewGroup parent )
                {
                    SingleNewsListItem listItem = convertView as SingleNewsListItem;
                    if ( listItem == null )
                    {
                        listItem = new SingleNewsListItem( Rock.Mobile.PlatformSpecific.Android.Core.Context );

                        int height = (int)System.Math.Ceiling( NavbarFragment.GetContainerDisplayWidth( ) * PrivateNewsConfig.NewsMainAspectRatio );
                        listItem.LayoutParameters = new AbsListView.LayoutParams( ViewGroup.LayoutParams.WrapContent, height );
                        listItem.HasImage = false;
                    }

                    // if we have a valid item
                    if ( position < ParentFragment.News.Count )
                    {
                        // is the image valid?
                        if ( ParentFragment.News[ position ].Image != null )
                        {
                            if ( listItem.HasImage == false )
                            {
                                listItem.HasImage = true;
                                Rock.Mobile.PlatformSpecific.Android.UI.Util.FadeView( listItem.Billboard, true, null );
                            }

                            listItem.Billboard.SetImageBitmap( ParentFragment.News[ position ].Image );
                        }
                        // then should we use the placeholder?
                        else if ( ParentFragment.Placeholder != null && ParentFragment.News[ position ].ImageIsDownloaded == false )
                        {
                            listItem.Billboard.SetImageBitmap( ParentFragment.Placeholder );
                        }
                        else
                        {
                            listItem.Billboard.SetImageBitmap( null );
                        }
                    }

                    else
                    {
                        listItem.Billboard.SetImageBitmap( null );
                    }

                    return listItem;
                }
                ListAdapter.ListItemView GetPrimaryView( int position, View convertView, ViewGroup parent )
                {
                    SingleNewsListItem listItem = convertView as SingleNewsListItem;
                    if ( listItem == null )
                    {
                        listItem = new SingleNewsListItem( Rock.Mobile.PlatformSpecific.Android.Core.Context );

                        int width = NavbarFragment.GetCurrentContainerDisplayWidth( );
                        int height = (int)System.Math.Ceiling( width * PrivateNewsConfig.NewsBannerAspectRatio );
                        listItem.LayoutParameters = new AbsListView.LayoutParams( width, height );
                        listItem.HasImage = false;
                    }
                    else
                    {
                        listItem.FreeImageResources( );
                    }

                    // if we have a valid item
                    if ( position < ParentFragment.News.Count )
                    {
                        // is the image valid?
                        if ( ParentFragment.News[ position ].Image != null )
                        {
                            if ( listItem.HasImage == false )
                            {
                                listItem.HasImage = true;
                                Rock.Mobile.PlatformSpecific.Android.UI.Util.FadeView( listItem.Billboard, true, null );
                            }

                            listItem.Billboard.SetImageBitmap( ParentFragment.News[ position ].Image );
                        }
                        // then should we use the (details) placeholder?
                        else if ( ParentFragment.DetailsPlaceholder != null )
                        {
                            listItem.Billboard.SetImageBitmap( ParentFragment.DetailsPlaceholder );
                        }
                        else
                        {
                            listItem.Billboard.SetImageBitmap( null );
                        }

                        if ( ParentFragment.News[ position ].News.Developer_Private )
                        {
                            listItem.PrivateOverlay.Visibility = ViewStates.Visible;
                        }
                        else
                        {
                            listItem.PrivateOverlay.Visibility = ViewStates.Gone;
                        }
                    }

                    else
                    {
                        listItem.Billboard.SetImageBitmap( null );
                        listItem.PrivateOverlay.Visibility = ViewStates.Gone;
                    }

                    return listItem;
                }