2012-09-27 8 views
7

का उपयोग करके धीमा या तेज़ ड्रैग अप (स्क्रॉल) वर्तमान स्क्रीन खींचने के लिए यह मेरा कोड।रोबोटियम

int screenWidth = getActivity().getWindowManager().getDefaultDisplay().getWidth(); 
int screenHeight = getActivity().getWindowManager().getDefaultDisplay().getHeight(); 
int fromX, toX, fromY, toY = 0; 
fromX = screenWidth/2; 
toX = screenWidth/2; 
fromY = (screenHeight/2) + (screenHeight/3); 
toY = (screenHeight/2) - (screenHeight/3); 
int scroll_time = 10000;    
solo.sleep(5000); 
    // Drag UP 
solo.drag(fromX, toX, fromY, toY, 40); 
Log.d(TAG, "Drag 1"); 
    // here default origin (x,y = 0,0) is left upper corner 

यहां स्क्रॉल काम कर रहा है लेकिन बहुत धीमा है।

तो तेजी से स्क्रॉल के लिए इस कोड में क्या परिवर्तन आवश्यक है?

उत्तर

9

मैं एक ही समस्या है, तो आप निम्न कोड पंक्ति को समायोजित करने की जरूरत है क्या,

solo.drag(fromX, toX, fromY, toY, 40); //Change 40 to 10 

यह आपके स्क्रॉल में वृद्धि होगी का सामना करना पड़ा देख गति, निचले चरण की गिनती, स्क्रॉलिंग तेज़ी से है!

+0

धन्यवाद मेरे रॉयस्टन पिंटो, मेरे फोन गैलेक्सी ऐस पर काम कर रहा है। –

0
public class MainActivity extends Activity { 
int windowwidth; 
int windowheight;  
ImageView ima1,ima2; 

    private android.widget.RelativeLayout.LayoutParams layoutParams ; 
// private android.widget.RelativeLayout.LayoutParams layoutParams ; 
//private android.widget.RelativeLayout.LayoutParams layoutParams ;   

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    windowwidth = getWindowManager().getDefaultDisplay().getWidth(); 
    windowheight = getWindowManager().getDefaultDisplay().getHeight(); 

    System.out.println("width" +windowwidth); 
    System.out.println("height" +windowheight);    

    ima1 = (ImageView)findViewById(R.id.imageview1); 
    ima1.setOnTouchListener(new View.OnTouchListener() { 

    public boolean onTouch(View v, MotionEvent event) { 
    layoutParams = (RelativeLayout.LayoutParams) ima1.getLayoutParams(); 

    switch(event.getAction())     
     { 
      case MotionEvent.ACTION_DOWN:       
       break;  

      case MotionEvent.ACTION_MOVE: 
       int x_cord = (int) event.getRawX(); 
       int y_cord = (int) event.getRawY(); 

      System.out.println("value of x" +x_cord); 
      System.out.println("value of y" +y_cord);   

       if (x_cord > windowwidth) { 
        x_cord = windowwidth; 
        } 
       if (y_cord > windowheight) { 
        y_cord = windowheight; 
        } 
     layoutParams.leftMargin = x_cord-25; 
     layoutParams.topMargin = y_cord-25; 
     // layoutParams.rightMargin = x_cord-25; 
     // layoutParams.bottomMargin = y_cord-25; 
     ima1.setLayoutParams(layoutParams); 
       break; 
      default: break; 
      } 
      return true; 
     } 
    }); 

    ima2 = (ImageView)findViewById(R.id.imageview2); 
    ima2.setOnTouchListener(new View.OnTouchListener() {   

public boolean onTouch(View v, MotionEvent event) { 
    layoutParams = (RelativeLayout.LayoutParams) ima2.getLayoutParams(); 
      switch(event.getActionMasked()) 
      { 
       case MotionEvent.ACTION_DOWN: 
        break; 
       case MotionEvent.ACTION_MOVE: 
        int x_cord = (int) event.getRawX(); 
        int y_cord = (int) event.getRawY(); 

        System.out.println("value of x1" +x_cord); 
       System.out.println("value of y1" +y_cord);        

        if (x_cord > windowwidth) { 
         x_cord = windowwidth; 
        } 
        if (y_cord > windowheight) { 
         y_cord = windowheight; 
        } 
        layoutParams.leftMargin = x_cord - 25; 
        layoutParams.topMargin = y_cord - 75; 
        ima2.setLayoutParams(layoutParams); 
        break; 
       default: break; 
      } 
      return true; 
     } 
    }); 
    } 
} 

इस एक यह पूर्ण उपयोग करें Android Drag and drop images on the Screen?

+0

मैं स्वचालन के लिए रोबोटियम का उपयोग करता हूं, यहां कोई उपयोगकर्ता इंटरैक्शन आवश्यक नहीं है, कोई सेटऑन टच लिस्टनर की आवश्यकता नहीं है। मेरा उपरोक्त कोड काम कर रहा है लेकिन मैं वर्तमान स्क्रीन को तेजी से स्क्रॉल करना चाहता हूं। वैसे भी अपने उत्तर के लिए NagarjunaReddy धन्यवाद और कोशिश करें। –

संबंधित मुद्दे