「App:Library:LVGL:docs:Others:Grid navigation」の版間の差分
23行目: | 23行目: | ||
− | It doesn't matter how the children are positioned, as only the current x and y coordinates are considered. This means that gridnav works with manually positioned children, as well as | + | It doesn't matter how the children are positioned, as only the current x and y coordinates are considered. This means that gridnav works with manually positioned children, as well as and layouts. |
− | Gridnav also works if the children are arranged into a single row or column. That makes it useful, for example, to simplify navigation on a | + | Gridnav also works if the children are arranged into a single row or column. That makes it useful, for example, to simplify navigation on a . |
− | Gridnav assumes that the object to which gridnav is added is part of a | + | Gridnav assumes that the object to which gridnav is added is part of a . This way, if the object with gridnav is focused, the arrow key presses are automatically forwarded to the object so that gridnav can process the arrow keys. |
To move the focus to the next widget of the group use <code style="color: #bb0000;">LV_KEY_NEXT/PREV</code> or <code style="color: #bb0000;">lv_group_focus_next/prev()</code> or the <code style="color: #bb0000;">TAB</code> key on keyboard as usual. | To move the focus to the next widget of the group use <code style="color: #bb0000;">LV_KEY_NEXT/PREV</code> or <code style="color: #bb0000;">lv_group_focus_next/prev()</code> or the <code style="color: #bb0000;">TAB</code> key on keyboard as usual. | ||
45行目: | 45行目: | ||
Gridnavは、gridnavが追加されるオブジェクトが'''グループ'''の一部であると想定します。このように、gridnavのあるオブジェクトにフォーカスがある場合、矢印キーの押下は自動的にオブジェクトに転送され、gridnavが矢印キーを処理できるようになります。 | Gridnavは、gridnavが追加されるオブジェクトが'''グループ'''の一部であると想定します。このように、gridnavのあるオブジェクトにフォーカスがある場合、矢印キーの押下は自動的にオブジェクトに転送され、gridnavが矢印キーを処理できるようになります。 | ||
− | グループの次のウィジェットにフォーカスを移動するには、通常どおり<code>LV_KEY_NEXT/PREV</code>または<code>lv_group_focus_next/prev()</code>または<code>TAB</code>キーボードのキーを使用します。 | + | グループの次のウィジェットにフォーカスを移動するには、通常どおり<code style="color: #bb0000;">LV_KEY_NEXT/PREV</code>または<code style="color: #bb0000;">lv_group_focus_next/prev()</code>または<code style="color: #bb0000;">TAB</code>キーボードのキーを使用します。 |
コンテナがスクロール可能で、フォーカスされた子がビューの外にある場合、gridnavは自動的に子をビューにスクロールします。 | コンテナがスクロール可能で、フォーカスされた子がビューの外にある場合、gridnavは自動的に子をビューにスクロールします。 | ||
68行目: | 68行目: | ||
<code style="color: #bb0000;">lv_gridnav_remove(cont)</code> Removes gridnav from an object. | <code style="color: #bb0000;">lv_gridnav_remove(cont)</code> Removes gridnav from an object. | ||
− | |gridnav機能をオブジェクトに追加するには、を使用します<code>lv_gridnav_add(cont, flags)</code>。 | + | |gridnav機能をオブジェクトに追加するには、を使用します<code style="color: #bb0000;">lv_gridnav_add(cont, flags)</code>。 |
− | <code>flags</code>gridnavの動作を制御します。 | + | <code style="color: #bb0000;">flags</code>gridnavの動作を制御します。 |
− | * <code>LV_GRIDNAV_CTRL_NONE</code>デフォルトの設定 | + | * <code style="color: #bb0000;">LV_GRIDNAV_CTRL_NONE</code>デフォルトの設定 |
− | * <code>LV_GRIDNAV_CTRL_ROLLOVER</code>ある方向に次/前のオブジェクトがない場合、フォーカスは次/前の行(左/右キー)または最初/最後の行(上/下キー)のオブジェクトに移動します | + | * <code style="color: #bb0000;">LV_GRIDNAV_CTRL_ROLLOVER</code>ある方向に次/前のオブジェクトがない場合、フォーカスは次/前の行(左/右キー)または最初/最後の行(上/下キー)のオブジェクトに移動します |
− | * <code>LV_GRIDNAV_CTRL_SCROLL_FIRST</code>矢印が押され、フォーカスされたオブジェクトがその方向にスクロールできる場合、次/前のオブジェクトに移動する代わりにスクロールされます。スクロールする余地がなくなった場合、次/前のオブジェクトは通常どおりフォーカスされます | + | * <code style="color: #bb0000;">LV_GRIDNAV_CTRL_SCROLL_FIRST</code>矢印が押され、フォーカスされたオブジェクトがその方向にスクロールできる場合、次/前のオブジェクトに移動する代わりにスクロールされます。スクロールする余地がなくなった場合、次/前のオブジェクトは通常どおりフォーカスされます |
− | <code>lv_gridnav_remove(cont)</code>オブジェクトからgridnavを削除します。 | + | <code style="color: #bb0000;">lv_gridnav_remove(cont)</code>オブジェクトからgridnavを削除します。 |
|} | |} | ||
:[[App:Library:LVGL:docs:Others|戻る : Previous]] | :[[App:Library:LVGL:docs:Others|戻る : Previous]] | ||
88行目: | 88行目: | ||
| | | | ||
An object needs to be clickable or click focusable (<code style="color: #bb0000;">LV_OBJ_FLAG_CLICKABLE</code> or <code style="color: #bb0000;">LV_OBJ_FLAG_CLICK_FOCUSABLE</code>) and not hidden (<code style="color: #bb0000;">LV_OBJ_FLAG_HIDDEN</code>) to be focusable by gridnav. | An object needs to be clickable or click focusable (<code style="color: #bb0000;">LV_OBJ_FLAG_CLICKABLE</code> or <code style="color: #bb0000;">LV_OBJ_FLAG_CLICK_FOCUSABLE</code>) and not hidden (<code style="color: #bb0000;">LV_OBJ_FLAG_HIDDEN</code>) to be focusable by gridnav. | ||
− | |gridnavでフォーカスできる ようにするには、オブジェクトはクリック可能またはクリックフォーカス可能(<code>LV_OBJ_FLAG_CLICKABLE</code>または<code>LV_OBJ_FLAG_CLICK_FOCUSABLE</code>)であり、非表示( )ではない必要があります。<code>LV_OBJ_FLAG_HIDDEN</code> | + | |gridnavでフォーカスできる ようにするには、オブジェクトはクリック可能またはクリックフォーカス可能(<code style="color: #bb0000;">LV_OBJ_FLAG_CLICKABLE</code>または<code style="color: #bb0000;">LV_OBJ_FLAG_CLICK_FOCUSABLE</code>)であり、非表示( )ではない必要があります。<code style="color: #bb0000;">LV_OBJ_FLAG_HIDDEN</code> |
|} | |} | ||
:[[App:Library:LVGL:docs:Others|戻る : Previous]] | :[[App:Library:LVGL:docs:Others|戻る : Previous]] | ||
126行目: | 126行目: | ||
|- | |- | ||
| | | | ||
− | <span style="background-color: # | + | <span style="background-color: #e7f2facolor: #2980b9;">typedef int _keep_pedantic_happy </span> |
: | : | ||
| | | | ||
139行目: | 139行目: | ||
|- | |- | ||
| | | | ||
− | <span style="background-color: # | + | <span style="background-color: #e7f2facolor: #2980b9;">enum lv_gridnav_ctrl_t </span> |
: ''Values:'' | : ''Values:'' | ||
:<span style="background-color: #eeeeee;">enumerator LV_GRIDNAV_CTRL_NONE </span> | :<span style="background-color: #eeeeee;">enumerator LV_GRIDNAV_CTRL_NONE </span> | ||
169行目: | 169行目: | ||
|- | |- | ||
| | | | ||
− | <span style="background-color: # | + | <span style="background-color: #e7f2facolor: #2980b9;">void lv_gridnav_add(lv_obj_t *obj, lv_gridnav_ctrl_t ctrl) </span> |
: Add grid navigation feature to an object. It expects the children to be arranged into a grid-like layout. Although it's not required to have pixel perfect alignment. This feature makes possible to use keys to navigate among the children and focus them. The keys other than arrows and press/release related events are forwarded to the focused child. | : Add grid navigation feature to an object. It expects the children to be arranged into a grid-like layout. Although it's not required to have pixel perfect alignment. This feature makes possible to use keys to navigate among the children and focus them. The keys other than arrows and press/release related events are forwarded to the focused child. | ||
:'''Parameters''' | :'''Parameters''' | ||
187行目: | 187行目: | ||
: '''パラメーター''' | : '''パラメーター''' | ||
::* '''obj-'''ナビゲーションを適用するオブジェクトへのポインタ。 | ::* '''obj-'''ナビゲーションを適用するオブジェクトへのポインタ。 | ||
− | ::* '''ctrl-'''からのフラグを制御し<code>lv_gridnav_ctrl_t</code>ます。 | + | ::* '''ctrl-'''からのフラグを制御し<code style="color: #bb0000;">lv_gridnav_ctrl_t</code>ます。 |
void lv_gridnav_remove(lv_obj_t * obj) | void lv_gridnav_remove(lv_obj_t * obj) |
2022年6月29日 (水) 10:56時点における版
https://docs.lvgl.io/8.2/others/gridnav.html
英文 | 自動翻訳 |
---|---|
英文 | 自動翻訳 |
---|---|
Grid navigation (gridnav for short) is a feature that changes the currently focused child object as arrow keys are pressed.
To move the focus to the next widget of the group use
|
グリッドナビゲーション(略してgridnav)は、矢印キーが押されると、現在フォーカスされている子オブジェクトを変更する機能です。
子がグリッドのようなレイアウトに配置されている場合、上、下、左、および右の矢印は、それぞれの方向で最も近い兄弟にフォーカスを移動します。 現在のx座標とy座標のみが考慮されるため、子がどのように配置されているかは関係ありません。これは、gridnavが手動で配置された子、およびFlexとGridのレイアウトで機能することを意味します。 Gridnavは、子が単一の行または列に配置されている場合にも機能します。これにより、たとえば、リストウィジェットのナビゲーションを簡素化するのに役立ちます。 Gridnavは、gridnavが追加されるオブジェクトがグループの一部であると想定します。このように、gridnavのあるオブジェクトにフォーカスがある場合、矢印キーの押下は自動的にオブジェクトに転送され、gridnavが矢印キーを処理できるようになります。 グループの次のウィジェットにフォーカスを移動するには、通常どおり コンテナがスクロール可能で、フォーカスされた子がビューの外にある場合、gridnavは自動的に子をビューにスクロールします。 |
Usage
英文 | 自動翻訳 |
---|---|
To add the gridnav feature to an object use
|
gridnav機能をオブジェクトに追加するには、を使用しますlv_gridnav_add(cont, flags) 。
|
Focusable objects
英文 | 自動翻訳 |
---|---|
An object needs to be clickable or click focusable ( |
gridnavでフォーカスできる ようにするには、オブジェクトはクリック可能またはクリックフォーカス可能(LV_OBJ_FLAG_CLICKABLE またはLV_OBJ_FLAG_CLICK_FOCUSABLE )であり、非表示( )ではない必要があります。LV_OBJ_FLAG_HIDDEN
|
Example
英文 | 自動翻訳 |
---|---|
Basic grid navigation | 基本的なグリッドナビゲーション |
Grid navigation on a list | リストのグリッドナビゲーション |
Nested grid navigations | ネストされたグリッドナビゲーション |
API
Typedefs
英文 | 自動翻訳 |
---|---|
typedef int _keep_pedantic_happy |
Enums
英文 | 自動翻訳 |
---|---|
enum lv_gridnav_ctrl_t
|
|
Functions
英文 | 自動翻訳 |
---|---|
void lv_gridnav_add(lv_obj_t *obj, lv_gridnav_ctrl_t ctrl)
void lv_gridnav_remove(lv_obj_t *obj)
|
void lv_gridnav_remove(lv_obj_t * obj)
|