「App:Library:LVGL:docs:Others:Grid navigation」の版間の差分
35行目: | 35行目: | ||
If the container is scrollable and the focused child is out of the view, gridnav will automatically scroll the child into view. | If the container is scrollable and the focused child is out of the view, gridnav will automatically scroll the child into view. | ||
− | | | + | |グリッドナビゲーション(略してgridnav)は、矢印キーが押されると、現在フォーカスされている子オブジェクトを変更する機能です。 |
+ | |||
+ | 子がグリッドのようなレイアウトに配置されている場合、上、下、左、および右の矢印は、それぞれの方向で最も近い兄弟にフォーカスを移動します。 | ||
+ | |||
+ | 現在のx座標とy座標のみが考慮されるため、子がどのように配置されているかは関係ありません。これは、gridnavが手動で配置された子、および'''Flex'''と'''Grid'''のレイアウトで機能することを意味します。 | ||
+ | |||
+ | Gridnavは、子が単一の行または列に配置されている場合にも機能します。これにより、たとえば、'''リストウィジェット'''のナビゲーションを簡素化するのに役立ちます。 | ||
+ | |||
+ | Gridnavは、gridnavが追加されるオブジェクトが'''グループ'''の一部であると想定します。このように、gridnavのあるオブジェクトにフォーカスがある場合、矢印キーの押下は自動的にオブジェクトに転送され、gridnavが矢印キーを処理できるようになります。 | ||
+ | |||
+ | グループの次のウィジェットにフォーカスを移動するには、通常どおり<code>LV_KEY_NEXT/PREV</code>または<code>lv_group_focus_next/prev()</code>または<code>TAB</code>キーボードのキーを使用します。 | ||
+ | |||
+ | コンテナがスクロール可能で、フォーカスされた子がビューの外にある場合、gridnavは自動的に子をビューにスクロールします。 | ||
|} | |} | ||
:[[App:Library:LVGL:docs:Others|戻る : Previous]] | :[[App:Library:LVGL:docs:Others|戻る : Previous]] | ||
56行目: | 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>。 |
+ | |||
+ | <code>flags</code>gridnavの動作を制御します。 | ||
+ | |||
+ | * <code>LV_GRIDNAV_CTRL_NONE</code>デフォルトの設定 | ||
+ | * <code>LV_GRIDNAV_CTRL_ROLLOVER</code>ある方向に次/前のオブジェクトがない場合、フォーカスは次/前の行(左/右キー)または最初/最後の行(上/下キー)のオブジェクトに移動します | ||
+ | * <code>LV_GRIDNAV_CTRL_SCROLL_FIRST</code>矢印が押され、フォーカスされたオブジェクトがその方向にスクロールできる場合、次/前のオブジェクトに移動する代わりにスクロールされます。スクロールする余地がなくなった場合、次/前のオブジェクトは通常どおりフォーカスされます | ||
+ | |||
+ | <code>lv_gridnav_remove(cont)</code>オブジェクトからgridnavを削除します。 | ||
|} | |} | ||
:[[App:Library:LVGL:docs:Others|戻る : Previous]] | :[[App:Library:LVGL:docs:Others|戻る : Previous]] | ||
68行目: | 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> |
|} | |} | ||
:[[App:Library:LVGL:docs:Others|戻る : Previous]] | :[[App:Library:LVGL:docs:Others|戻る : Previous]] |
2022年6月22日 (水) 20:35時点における版
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
英文 | 自動翻訳 |
---|---|
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)
|