コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】UIElements で要素を右から左に配置したい場合

概要

using UnityEditor;
using UnityEngine.UIElements;

public sealed class Test : EditorWindow
{
    [MenuItem( "Tools/Hoge" )]
    public static void Open()
    {
        GetWindow<Test>();
    }

    public void CreateGUI()
    {
        var toolbar = new VisualElement();

        toolbar.Add( new Button { text = "ピカチュウ" } );
        toolbar.Add( new Button { text = "カイリュー" } );
        toolbar.Add( new Button { text = "ヤドラン" } );

        rootVisualElement.Add( toolbar );
    }
}

特になにもしないと上から下に並ぶ

var toolbar = new VisualElement
{
    style = { flexDirection = FlexDirection.Row },
};

flexDirection に FlexDirection.Row を設定すると

左から右に並ぶ

var toolbar = new VisualElement
{
    style = { flexDirection = FlexDirection.RowReverse },
};

flexDirection に FlexDirection.RowReverse を設定すると

右から左に並ぶ