0

私はXamarinが初めてです。私がやろうとしているのは、3 つの画像を持つ単純なアプリケーションを構築することです。次の画像を表示するには、各画像を水平方向にスライドさせる必要があります。このアイデアは、「ミックス アンド マッチ」という子供向けのゲームから得ました。このゲームでは、漫画の動物の頭、体、足を変更できます。

では、3 つに分割された 5 つの画像 (頭、体、足) のセットがある場合、画像を画面に表示してスライドさせるにはどうすればよいでしょうか?

3 つのギャラリー コントロールをスタックしようとしましたが、画面いっぱいに画像を配置できませんでした。

画面は次のようになります。

ここに画像の説明を入力

これを Android または IOS 用の Xamarin に組み込むことはできますか?

助けてくれてありがとう。

4

2 に答える 2

1

iOS の場合は、UIPageControl. UIPageControl頭、体、足には別のオブジェクトがあります。アイデアはUIViewUIScrollView(これも 3 つ)を使用して を作成することです。UIScrollView体のさまざまな部分 (頭など) がすべて含まれます。PageControlスワイプ ジェスチャの認識とアニメーションを処理し、 のどの部分をs eventUIScrollViewに表示するかを設定します。コードは次のようになります。UIPageControlValueChanged

In ViewDidLoad: まず、 に 5 つのヘッド パーツを追加しUIScrollViewます。UIViewと呼ばれるの配列にこれら 5 つの頭の部分があると仮定しますheadPageViews

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);
}

他の体の部分に対してこれらの手順を繰り返すと、目的の効果が得られるはずです.

于 2013-10-31T11:23:43.217 に答える
0

追加した画像として配置されたUIViewControllerで3 つのUIScrollViewsを使用し、そのUIScrollViewを設定してページングを有効にすることもできます。これらのUIScrollViewsで画像のトリミングされたセクションを設定すると、簡単に実現できます。

お役に立てれば。

于 2014-04-09T10:29:57.820 に答える