<При пролистывании>
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Указывает действие, которое будет выполнено, когда пользователь проведет пальцем по макету. На скорость последовательности движений и движение целевого изображения влияет скорость и направление пролистывания с учетом ограничений, установленных вами с помощью дополнительных параметров.
Для одного <Transition>
может быть несколько узлов <OnSwipe>
, причем каждый <OnSwipe>
определяет разное направление пролистывания и разное действие, которое необходимо выполнить, когда пользователь выполняет это пролистывание.
Синтаксис
<OnSwipe
motion:touchAnchorId="@id/target_view"
motion:touchAnchorSide="side"
[ motion:dragDirection="direction" ]
[ motion:dragScale="scale" ]
[ motion:maxVelocity="maxVelocity" ]
[ motion:maxAcceleration="maxAcceleration" ]
/>
Атрибуты
-
motion:touchAnchorId
- Просмотр, который перемещается смахиванием.
-
motion:touchAnchorSide
- Сторона целевого представления, к которой привязано пролистывание.
MotionLayout
сохраняет постоянное расстояние между привязкой и пальцем пользователя. Допустимые значения: "left"
, "right"
, "top"
и "bottom"
. -
motion:dragDirection
- Направление движения пользователя. Если этот атрибут установлен, этот
<OnSwipe>
применяется только к проведению пальцем в указанном направлении. Допустимые значения: "dragLeft"
, "dragRight"
, "dragUp"
и "dragDown"
. -
motion:dragScale
Управляет расстоянием, на которое перемещается представление относительно длины пролистывания. Значение по умолчанию — 1, что означает, что представление перемещается настолько же далеко, насколько и пролистывание. Если dragScale
меньше 1, представление перемещается на расстояние, меньшее, чем расстояние пролистывания. Например, dragScale
, равное 0,5, означает, что если прокрутка переместится на 4 см, целевой вид переместится на 2 см.
Если значение dragScale
больше 1, представление перемещается дальше, чем расстояние пролистывания. Например, dragScale
, равное 1,5, означает, что если прокрутка переместится на 4 см, целевой вид переместится на 6 см.
-
motion:maxVelocity
Максимальная скорость обзора цели.
-
motion:maxAcceleration
Максимальное ускорение обзора цели.
Содержится в
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-29 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-07-29 UTC."],[],[],null,["# <OnSwipe>\n\nSpecifies the action to perform when the user swipes on the layout. The speed of\nthe motion sequence and the motion of the targeted view are affected by the\nspeed and direction of the swipe, subject to the limits you set with optional\nparameters.\n\nThere can be multiple `\u003cOnSwipe\u003e` nodes for a single `\u003cTransition\u003e`, with each\n`\u003cOnSwipe\u003e` specifying a different swipe direction and a different action to\nperform when the user performs that swipe.\n\nSyntax\n------\n\n```xml\n\u003cOnSwipe\n motion:touchAnchorId=\"@id/target_view\"\n motion:touchAnchorSide=\"side\"\n[ motion:dragDirection=\"direction\" ]\n[ motion:dragScale=\"scale\" ]\n[ motion:maxVelocity=\"maxVelocity\" ]\n[ motion:maxAcceleration=\"maxAcceleration\" ]\n /\u003e\n```\n\nAttributes\n----------\n\n`motion:touchAnchorId`\n: View that is being moved by the swipe.\n\n`motion:touchAnchorSide`\n: Side of the target view that the swipe is anchored to. `MotionLayout` keeps a\n constant distance between the anchor and the user's finger. Acceptable values\n are `\"left\"`, `\"right\"`, `\"top\"`, and `\"bottom\"`.\n\n`motion:dragDirection`\n: Direction of the user's swipe motion. If this attribute is set, this\n `\u003cOnSwipe\u003e` only applies to swipes in the specified direction. Acceptable values\n are `\"dragLeft\"`, `\"dragRight\"`, `\"dragUp\"`, and `\"dragDown\"`.\n\n`motion:dragScale`\n\n: Controls the distance the view moves relative to the length of the swipe. The\n default value is 1, indicating that the view moves as far as the swipe does.\n If `dragScale` is less than 1, the view moves less than the swipe distance.\n For example, a `dragScale` of 0.5 means that if the swipe moves 4 cm, the\n target view moves 2 cm.\n\n If `dragScale` is greater than 1, the view moves farther than the swipe\n distance. For example, a `dragScale` of 1.5 means that if the swipe moves 4\n cm, the target view moves 6 cm.\n\n`motion:maxVelocity`\n\n: Maximum velocity of the target view.\n\n`motion:maxAcceleration`\n\n: Maximum acceleration of the target view.\n\nContained in\n------------\n\n- [`\u003cTransition\u003e`](/training/constraint-layout/motionlayout/ref/transition)"]]