目次
- はじめに
- 完成イメージ
- 実装方法
- まとめ
はじめに
Irisで画面を作っていると、画像を含んだボタンを作成したい場面があると思います。
どのように作るのが正しいのか迷うポイントだと思うので、
今回は画像を含んだボタンを作る一般的な方法を2つ紹介したいと思います!
IrisでアプリのUIを作成する際、基本的な作成方法が学べるこちらの記事もおすすめです!
是非併せて確認してみてくださいね
完成イメージ
このような画像付きのボタンを作っていきます。
パターン①で作成したものが①に表示しているボタン、
パターン②で作成したものが②で表示しているボタンとなります。
それぞれボタンをタップ時に、少し色が薄くなるように設定しています。
実装方法
では早速、作り方を紹介していきます!
パターン①:ButtonのBackGroundに画像を設定する
まず1つ目の方法は、Button WidgetのBackGroundに表示したい画像を指定する方法です。
この方法では、ボタンの背景に色ではなく画像を指定するため、
通常時とフォーカス時でそれぞれ2つの画像を用意する必要があります。
具体的な作り方をNormal(通常表示)時とFocus(ボタン押下)時で紹介します。
画像を用意
まず、背景付きの丸いボタンをNormal時とFocus時で2種類用意します。
今回はこのような画像を作成しました。
Normal | Focus |
---|---|
丸い画像を表示したいのに、四角い画像をボタンの背景に指定すると、
実機で確認した際にButton Widgetから画像がはみ出てしまい、
四角い画像が表示されてしまうことがあるので注意するようにしましょう。(下記参照)
画像が用意できたら、IrisのAssets->Commonを右クリックして、
Import Imagesをクリックして画像をインポートします。
Widget配置
Buttonを配置します。今回このように作成しました。
丸い形は画像で表現できているので、ボタンウィジェット自体の見た目を変更する必要はありません。
Normal設定
ボタン通常表示時の設定を行います。
Buttonを選択して、PROPERTIES->Skin->Normalを選択します。
Buttonの背景に画像を指定したいので、BackGroundのTypeでImageを選択します。
Imageの項目でChooseボタンをクリックして、作成したNormalの画像を指定しましょう。
Focus設定
次にボタン押下時の設定を行っていきます。
Buttonを選択して、PROPERTIES->Skin->Focusを選択します。
先ほど同様、BackGroundのTypeでImageを選択し、ImageにFocus時の画像を指定しましょう。
この方法で実装した場合の良い点と悪い点をまとめてみました。
👍良い点:画像を用意さえすれば、Widget 1つで実装ができるため簡単
🙅♂️悪い点:ボタンの画像を差し替える必要が出てきた場合、2つ画像を作成しそれぞれ画像を指定する必要がある
次にパターン②を紹介していきます!
パターン②:FlexContainerにImageを入れる
2つ目の方法は、FlexContainerでボタンの色・形を指定し、その中に画像を入れて作成する方法です。
この方法では、FlexContainerで透明度の調整をすることでフォーカス時の見た目を変更することができます。
画像用意
パターン②ではFlexContainerでボタンの色と形を表現するので、用意する画像は1つでOKです。
白抜きの鉛筆画像を1つだけ用意しました。
Widget配置
FlexContainerの中にImageを配置します。
Lookタブでの設定はそれぞれこのように指定しました。
FlexContainer | Image |
---|---|
Normal設定
見た目の変更を行っていきます。
FlexContainerを選択して、PROPERTIES->Skin->Normalを選択します。
今回の場合、FlexContainerでボタンの形・色を決めるので、
BackGroundを指定したい色(#eb455f)に変更します。
次に丸いボタンを作りたいので、
Border: 1px、Style: Costom、Raduis: 100pxに変更しましょう。
この時Borderの色もBackGroundに指定した色と同じになるようにしてください。
ボタンの色・形が決まったので、中に表示する画像を指定しましょう。
Imageを選択し、PROPERTIES->Imageを選択します。
SourceのEditボタンを押して、用意した画像を指定しましょう。
Focus設定
次にボタン押下時の設定を行っていきます。
FlexContainerのPROPERTIES->Skin->Focusを選択します。
NormalのSkinを複製し、Opacity(透明度)のみを80%に変更してください。
Borderの変更も忘れないようにしましょう。
この方法で実装した場合の良い点と悪い点をまとめてみました。
👍良い点:ボタンの中の画像を変更する必要が出てきた場合、Image Widgetで画像を差し替えるだけでOK
🙅♂️悪い点:FlexContainerとImageを2つ配置する必要があり、形もFlexContainerで指定する必要がある
最後に
最後に2つのパターンの完成イメージを見てみましょう。
それぞれ作成方法は違いましたが、同様の見た目でボタンが表示できていますね👀
今回は画像付きのボタンを作成する方法について紹介しました!
各パターンで、それぞれ良い点・悪い点をまとめましたので、
実装や変更のしやすさに応じてお好みの方法で作ってみてくださいね👍