2017-04-14 11 views
0

私はXamarin Forms 2.1.0.6524から2.3.4.224にアップデートしています。私が修正できたいくつかの軽微なUIの不具合があったが、1つは私を困惑させている。XamarinフォームボタンのImageプロパティのスケール方法を制御するにはどうすればよいですか?

画像のプロパティが設定されたボタンがいくつか表示されます。画像はすべて90x90ピクセルです。 Xamarin Forms 2.1.xでは、イメージが約40ピクセルのテキストに合った高さに収まるようにイメージが縮小されたようです。 2.3.4.224では、画像が大きすぎる90pxの自然なサイズで表示されます。

私はこの変更の理由を理解しようとしていますが、元のコードが間違っているように感じ、イメージのサイズを制限するために何かをしていたはずです。 Buttonコントロールの画像のサイズやスケールをコントロールする便利な方法はありません。これが周りにありますか?私はバグを見つけましたか?それとも、以前はバグの被害者でしたか?

(これまでのところ、iOSに固有のようですが、Androidのこのボタンタイプ用のカスタムレンダラーがあり、私たちはそこでのスケール調整のためにいくつかのブードーを行うように見えます。

  • Androidのは、私は古いか新しいXFを使用したかどうか90PXで画像を表示する。
  • 私は古いXFと新しいXFと90PXを使用した場合のiOSが40ピクセルで表示。)

答えて

1

を私が制約された大きさを考えます古いバージョンのXamarin Formsのバグだったはずです。私は問題を解決する複数の方法があると思います。

  1. 適当な大きさに実画像を再作成しXLabsからカスタムサイジングオプション
  2. 利用のImageButtonと同様のiOS用のカスタムレンダラを作成します:https://github.com/XLabs/Xamarin-Forms-Labs/wiki/ImageButton
  3. Buttonの代わりに他の要素を使用します。たとえば、イメージとラベルを含む水平StackLayoutを作成し、StackLayoutのTapGestureHandlerを作成します(ボタンアニメーションは表示されません)。
  4. Button要素のHeightRequestで高さを制限します

可能であれば、最初のオプションを使用することをお勧めします。適切な大きさの実際の画像が最良の外観を与えます。アプリケーションで画像を拡大縮小すると、常に画像が拡大して見えるようになります。

関連する問題