Stay organized with collections
    
    
      
      Save and categorize content based on your preferences.
    
  
  
    
  
  
  
  
    
  
  
    
    
  
  
PathMotion
  public
  
  
  abstract
  class
  PathMotion
  
    extends Object
  
  
  
  
  
  
  
    
      
        
          Known direct subclasses
          
  
  
    
  
  
    
      
        | ArcMotion | 
        
          A PathMotion that generates a curved path along an arc on an imaginary circle containing
 the two points. 
          
    
         | 
       
      
    
      
        | PatternPathMotion | 
        
          A PathMotion that takes a Path pattern and applies it to the separation between two points. 
          
    
         | 
       
      
    
   
   
         
       | 
    
  
  
  
    
  This base class can be extended to provide motion along a Path to Transitions.
 
 Transitions such as ChangeBounds move Views, typically
 in a straight path between the start and end positions. Applications that desire to
 have these motions move in a curve can change how Views interpolate in two dimensions
 by extending PathMotion and implementing getPath(float, float, float, float).
 
 This may be used in XML as an element inside a transition.
 
 <changeBounds>
     <pathMotion class="my.app.transition.MyPathMotion"/>
 </changeBounds>
 
 
Summary
Public methods | 
  
  
  
    
        abstract
        
        
        
        
        Path
     | 
  
    
      
      getPath(float startX, float startY, float endX, float endY)
      
      
        Provide a Path to interpolate between two points (startX, startY) and
 (endX, endY).
        
    
 
      
     | 
  
  
Inherited methods | 
  
    From class
      
        
          java.lang.Object
        
      
    
    
      
  
  
  
    
        
        
        
        
        
        Object
     | 
  
    
      
      clone()
      
      
        Creates and returns a copy of this object.
        
    
 
      
     | 
   
  
  
  
  
    
        
        
        
        
        
        boolean
     | 
  
    
      
      equals(Object obj)
      
      
        Indicates whether some other object is "equal to" this one.
        
    
 
      
     | 
   
  
  
  
  
    
        
        
        
        
        
        void
     | 
  
    
      
      finalize()
      
      
        Called by the garbage collector on an object when garbage collection
 determines that there are no more references to the object.
        
    
 
      
     | 
   
  
  
  
  
    
        
        
        
        final
        
        Class<?>
     | 
  
    
      
      getClass()
      
      
        Returns the runtime class of this Object.
        
    
 
      
     | 
   
  
  
  
  
    
        
        
        
        
        
        int
     | 
  
    
      
      hashCode()
      
      
        Returns a hash code value for the object.
        
    
 
      
     | 
   
  
  
  
  
    
        
        
        
        final
        
        void
     | 
  
    
      
      notify()
      
      
        Wakes up a single thread that is waiting on this object's
 monitor.
        
    
 
      
     | 
   
  
  
  
  
    
        
        
        
        final
        
        void
     | 
  
    
      
      notifyAll()
      
      
        Wakes up all threads that are waiting on this object's monitor.
        
    
 
      
     | 
   
  
  
  
  
    
        
        
        
        
        
        String
     | 
  
    
      
      toString()
      
      
        Returns a string representation of the object.
        
    
 
      
     | 
   
  
  
  
  
    
        
        
        
        final
        
        void
     | 
  
    
      
      wait(long timeoutMillis, int nanos)
      
      
        Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted, or until a
 certain amount of real time has elapsed.
        
    
 
      
     | 
   
  
  
  
  
    
        
        
        
        final
        
        void
     | 
  
    
      
      wait(long timeoutMillis)
      
      
        Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted, or until a
 certain amount of real time has elapsed.
        
    
 
      
     | 
   
  
  
  
  
    
        
        
        
        final
        
        void
     | 
  
    
      
      wait()
      
      
        Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted.
        
    
 
      
     | 
   
  
     
   
 | 
Public constructors
    PathMotion
    
public PathMotion ()
    
    
    
  
 
    PathMotion
    
public PathMotion (Context context, 
                AttributeSet attrs)
    
    
    
  
    
    | Parameters | 
      
        context | 
        
          Context  | 
      
      
        attrs | 
        
          AttributeSet  | 
      
    
 
Public methods
    getPath
    
public abstract Path getPath (float startX, 
                float startY, 
                float endX, 
                float endY)
    
    
    
  Provide a Path to interpolate between two points (startX, startY) and
 (endX, endY). This allows controlled curved motion along two dimensions.
    
    | Parameters | 
      
        startX | 
        
          float: The x coordinate of the starting point. | 
      
      
        startY | 
        
          float: The y coordinate of the starting point. | 
      
      
        endX | 
        
          float: The x coordinate of the ending point. | 
      
      
        endY | 
        
          float: The y coordinate of the ending point. | 
      
    
    
      | Returns | 
      
        Path | 
        A Path along which the points should be interpolated. The returned Path
 must start at point (startX, startY), typically using
 Path.moveTo(float, float) and end at (endX, endY). | 
      
    
 
 
 
  
  
    
  
 
  
    
    
      
       
    
    
  
  
  Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
  Last updated 2025-02-10 UTC.
  
  
  
    
      [null,null,["Last updated 2025-02-10 UTC."],[],[]]