2013-10-30 37 views
0

我對Xamarin很新。我想要做的是構建一個簡單的應用程序,它有3個圖像。每張圖片需要水平滑動以顯示下一張圖片。我從一個名爲「混合搭配」的兒童遊戲中獲得了這個想法。遊戲可以讓你改變卡通動物的頭部,身體和腳部。因此,如果我有一組分成三分之一(頭部,身體,腳部)的5幅圖像,我如何在屏幕上顯示圖像以便讓它們滑動?用Xamarin滑動圖像

我試圖堆疊3個畫廊控件,但我無法讓圖像填滿屏幕。

屏幕應該看起來像這樣;

enter image description here

可以這樣建在Xamarin的Android或IOS?

感謝您的任何幫助。

回答

1

對於iOS,您可以使用UIPageControl。你將有一個不同的頭部,身體,腳的UIPageControl對象。這個想法是,你將有一個UIViewUIScrollView(其中三個)。 UIScrollView將包含身體的所有不同部位(例如頭部)。 PageControl將處理滑動手勢識別和動畫,您將設置UIScrollView的哪一部分應顯示在UIPageControl的事件ValueChanged中。代碼將如下所示:

In ViewDidLoad: 首先將五個頭部件添加到UIScrollView。我假設你有一個叫做headPageViewsUIView這個五個頭部分。

RectangleF frame; 
for (int i=0; i<5; i++) 
{ 
    UIView pageView = headPageViews[i]; 
    frame = headPageViews[i].Frame; 
    // change Frame.X so that the views are next to each other in scrollView 
    frame.X = i * this.scrollViewHead.Frame.Width; 
    pageView.Frame = frame; 
    this.scrollViewHead.AddSubViews(pageView); 
} 

ViewDidLoad:接下來,您設置您通過界面生成器添加UIPageControl

this.pageControlHead = new UIPageControl(frame); 
this.pageControlHead.HidesForSinglePage = true; 
this.pageControlHead.ValueChanged += HandlePageControlHeadValueChanged; 
this.pageControlHead.Pages = 5; this.viewHead.AddSubview(this.pageControlHead); 

某處代碼:最後,你處理ValueChanged事件:

private void HandlePageControlHeadValueChanged(object sender, EventArgs e) 
{ 
    this.scrollViewHead.SetContentOffset(new PointF(this.pageControlHead.CurrentPage * this.scrollViewHead.Frame.Width, 0), true); 
} 

重複這些步驟適用於其他身體部位,您應該具有預期效果。

+1

感謝您的詳細解答,我會試試看。 – John

0

您還可以使用3個UIScrollViews的UIViewController定位爲已添加的圖像,並設置的UIScrollView可啓用分頁。 在這些UIScrollViews設置圖像的裁剪部分,那麼你就可以很容易地實現它。

希望這會有所幫助。