![見出し画像](https://assets.st-note.com/production/uploads/images/118003691/rectangle_large_type_2_31a177e7565bffe86aa407ef251f4392.jpeg?width=800)
【XDプロト】スタック機能を活用したアコーディオンの作成
Adobe XDには便利な機能がたくさんありますが、今回ご紹介するのは「スタック」機能。
「スタック」機能は、グループ化したオブジェクトの並べ替えやパディング(要素内の余白)の調整ができる機能です。
今回は、この機能を活用した「アコーディオン」の作成方法についてご紹介します。
そもそも「アコーディオン」とは?
「アコーディオン」は、アプリケーションやWebページにおいて、項目ごとに情報が格納され、クリック(タップ)することで格納された情報を開閉して表示するUI要素のことをいいます。
開閉する動作が楽器のアコーディオンに似ていることから、この名前が付けられました。
アコーディオンの作成手順
01. アコーディオンの要素を作成
アコーディオンにしたい項目を作成し、グループ化しておきます。
グループ化したレイヤー階層は下の写真のとおりです。
![](https://assets.st-note.com/img/1696320307799-ntfVkVlGFz.jpg?width=800)
02. 「スタック」機能を使う
グループを選択した状態でスタックにチェックを入れ、「垂直方向スタック」を選択します。
![](https://assets.st-note.com/img/1696320332672-4vjtGkaDAV.jpg?width=800)
03. コンポーネント化する
右クリックして「コンポーネントにする」をクリックします。
![](https://assets.st-note.com/img/1696320400966-WpVPYQuu9Y.jpg?width=800)
04. ステートを設定
「ステート」は、要素に変化を持たせることができる機能です。
(ホバーアクションやトグルの動作などを表現できます)
ここでは、アコーディオンの開閉状態をステートに設定します。
まずは「初期設定のステート」にアコーディオンの初期状態(情報がすべて畳まれた状態)を設定します。
以下のグループのみ非表示にしてください。
非表示にするグループ
項目1 - 情報1
項目1 - 情報2
項目2 - 情報1
項目2 - 情報1
![](https://assets.st-note.com/img/1696320482706-XzczDEuLN1.jpg?width=800)
すると、スタック機能が作用して、自動的に項目タイトルだけが表示された状態になります。
![](https://assets.st-note.com/img/1696320500777-5Au7d3erjX.jpg?width=800)
次に、項目1だけが展開された状態を設定していきます。
「初期設定のステート」の右側にある「+」をクリックし、「新規ステート」を選択。
![](https://assets.st-note.com/img/1696401135057-xjoVI9eFbE.jpg?width=800)
追加した「新規ステート」に「項目1 - open」と名前をつけます。
![](https://assets.st-note.com/img/1696401187726-FXXjwAmeqH.jpg?width=800)
非表示にしていた「項目1 – 情報1」と「項目1 – 情報2」を表示させます。
![](https://assets.st-note.com/img/1696401207596-0AzUdqAbJT.jpg?width=800)
これで「項目1」だけが展開された「項目1 – open」ステートが設定できました。
「項目1」と同様に、「項目2」だけが展開された状態のステートも設定していきます。
「初期設定のステート」の右側の「+」をクリックし、「新規ステート」を選択。
![](https://assets.st-note.com/img/1696401283143-gQLGZSHOg2.jpg?width=800)
「項目2 - open」と名前をつけます。
![](https://assets.st-note.com/img/1696401305569-06XozMKDzj.jpg?width=800)
先ほど表示にした「項目1 – 情報1」と「項目1 – 情報2」をまた非表示にし、「項目2 – 情報1」と「項目2 – 情報2」を表示します。
![](https://assets.st-note.com/img/1696401327371-M1dBBdXpdO.jpg?width=800)
これで「項目2」だけが展開された「項目2 - open」ステートも設定が完了しました。
さらに、すべての項目が展開された状態の「all open」ステートを同様の手順で設定します。
※「all open」ステートの作成手順は画像を割愛します。
まずは「初期設定のステート」の右側の「+」をクリックし、「新規ステート」を選択。
ステート名を「all open」にします。
非表示になっているグループをすべて表示にし、アコーディオンがすべて展開された状態にします。
これで「all open」ステートも設定完了です。
05. インタラクションを設定する
前項で設定したステートにそれぞれインタラクションを設定していきます。
まずは、画面上部の「プロトタイプ」をクリックし、プロトタイプモードに切り替えます。
そして、ステートから「初期設定のステート」を選択。
![](https://assets.st-note.com/img/1696404263253-YivzgsGt3c.jpg?width=800)
レイヤーから「項目1 – タイトル」を選択(当該オブジェクトをダブルクリックでもOK)し、インタラクションの右の「+」をクリック(選択したオブジェクトの右にある青い丸のアローをクリックしてもOK)。
アクションを下記の通り設定します。
トリガー:タップ
種類:自動アニメーション
移動先:項目1 – open
イージング:イーズアウト
デュレーション:0.3秒
![](https://assets.st-note.com/img/1696404355383-UXTdOqkMQO.jpg?width=800)
レイヤーから「項目2 – タイトル」を選択し、インタラクションの右の「+」をクリック。
アクションの移動先を「項目2 - open」にして、それ以外は先ほどと同じです。
これで「初期設定のステート」のインタラクション設定は完了です。
以降の工程もこれを繰り返しますが、アクションは移動先以外すべて同じ設定です。
![](https://assets.st-note.com/img/1696404397983-c8kO7VrMFX.jpg?width=800)
次に「項目1 - open」のステートにインタラクションを設定します。
レイヤーでコンポーネント「アコーディオン」を選択し、ステートから「項目1 - open」をクリック。
![](https://assets.st-note.com/img/1696404475875-nX51p9MryX.jpg?width=800)
レイヤーから「項目1 – タイトル」を選択し、イランタラクションの右の「+」をクリック。
アクションの移動先を「初期設定のステート」にします。
![](https://assets.st-note.com/img/1696407966229-po5eX8kDS9.jpg?width=800)
レイヤーから「項目2 – タイトル」を選択し、イランタラクションの右の「+」をクリック。
アクションの移動先を「all open」にします。
これで「項目1 - open」のインタラクションの設定も完了です。
![](https://assets.st-note.com/img/1696404562911-x2QH4Mg4Cr.jpg?width=800)
次は「項目2 - open」のインタラクションを設定します。
レイヤーでコンポーネント「アコーディオン」を選択し、ステートから「項目2 - open」をクリック。
![](https://assets.st-note.com/img/1696404596681-U739v7OFCC.jpg?width=800)
レイヤーから「項目1 – タイトル」を選択し、イランタラクションの右の「+」をクリック。
アクションの移動先は「all open」。
![](https://assets.st-note.com/img/1696404631589-BKJclte8TL.jpg?width=800)
レイヤーから「項目2 – タイトル」を選択し、インタラクションの右の「+」をクリック。
アクションの移動先は「初期設定のステート」。
これで「項目2 - open」もインタラクションの設定が完了しました。
![](https://assets.st-note.com/img/1696404662187-RfY82AloL3.jpg?width=800)
最後に「all open」ステートのインタラクションを設定します。
レイヤーでコンポーネント「アコーディオン」を選択し、ステートから「all open」をクリック。
![](https://assets.st-note.com/img/1696404679087-PUiEKnmKuc.jpg?width=800)
レイヤーから「項目1 – タイトル」を選択し、インタラクションの右の「+」をクリック。
アクションの移動先は「項目2 - open」。
![](https://assets.st-note.com/img/1696404694544-O5CefBA9QG.jpg?width=800)
レイヤーから「項目2 – タイトル」を選択し、インタラクションの右の「+」をクリック。
アクションの移動先は「項目1 - open」。
![](https://assets.st-note.com/img/1696404711577-j2dQdi7w17.jpg?width=800)
これで「all open」ステートのインタラション設定も完了です。
動作確認の前に、レイヤーでコンポーネント「アコーディオン」を選択し、ステートから「初期設定のステート」をクリックして、アコーディオンの初期状態に戻しておきます。
06. 動作を確認
では、実際に動作を確認してみましょう。
画面右上の「▶︎」をクリック。
![](https://assets.st-note.com/img/1696404787768-z4BrKF2V8z.jpg?width=800)
すると、ウィンドウが立ち上がるので、作成したアコーディオンをクリックして正常に動作するか確認してみてください。
![](https://assets.st-note.com/production/uploads/images/117994933/picture_pc_54b517207d0835fe59513a7540f76963.gif?width=800)
まとめ
以上です。
今回ご紹介した「スタック」機能は、プロトタイプ制作以外でも重宝する便利な機能なので、知っておくと役立つと思います。
また、実際に使ってみることで機能の理解も深まるので、ぜひ参考にしてみてください。
この記事が気に入ったらサポートをしてみませんか?