我對Xamarin很新。我想要做的是構建一個簡單的應用程序,它有3個圖像。每張圖片需要水平滑動以顯示下一張圖片。我從一個名爲「混合搭配」的兒童遊戲中獲得了這個想法。遊戲可以讓你改變卡通動物的頭部,身體和腳部。因此,如果我有一組分成三分之一(頭部,身體,腳部)的5幅圖像,我如何在屏幕上顯示圖像以便讓它們滑動?用Xamarin滑動圖像
我試圖堆疊3個畫廊控件,但我無法讓圖像填滿屏幕。
屏幕應該看起來像這樣;
可以這樣建在Xamarin的Android或IOS?
感謝您的任何幫助。
我對Xamarin很新。我想要做的是構建一個簡單的應用程序,它有3個圖像。每張圖片需要水平滑動以顯示下一張圖片。我從一個名爲「混合搭配」的兒童遊戲中獲得了這個想法。遊戲可以讓你改變卡通動物的頭部,身體和腳部。因此,如果我有一組分成三分之一(頭部,身體,腳部)的5幅圖像,我如何在屏幕上顯示圖像以便讓它們滑動?用Xamarin滑動圖像
我試圖堆疊3個畫廊控件,但我無法讓圖像填滿屏幕。
屏幕應該看起來像這樣;
可以這樣建在Xamarin的Android或IOS?
感謝您的任何幫助。
對於iOS,您可以使用UIPageControl
。你將有一個不同的頭部,身體,腳的UIPageControl
對象。這個想法是,你將有一個UIView
與UIScrollView
(其中三個)。 UIScrollView
將包含身體的所有不同部位(例如頭部)。 PageControl
將處理滑動手勢識別和動畫,您將設置UIScrollView
的哪一部分應顯示在UIPageControl
的事件ValueChanged
中。代碼將如下所示:
In ViewDidLoad
: 首先將五個頭部件添加到UIScrollView
。我假設你有一個叫做headPageViews
的UIView
這個五個頭部分。
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);
}
重複這些步驟適用於其他身體部位,您應該具有預期效果。
您還可以使用3個UIScrollViews在的UIViewController定位爲已添加的圖像,並設置的UIScrollView可啓用分頁。 在這些UIScrollViews設置圖像的裁剪部分,那麼你就可以很容易地實現它。
希望這會有所幫助。
感謝您的詳細解答,我會試試看。 – John