2016-02-14 55 views
0

我正在使用此代碼。它在仿真器上按照我的需要工作,但在手機上它運行緩慢,移動時間長。我不知道爲什麼真的手機速度很慢。我如何提高性能? (注:圖像大小是5KB。)Android - 雖然imageView移動在屏幕上緩慢運行

case MotionEvent.ACTION_MOVE: 

     if(event.getRawX() <= firsttouch){ 

     }else if(event.getRawX() >= firsttouch+maxright){ 

     } else { 
      x= event.getRawX()-deltaTouchpos; 
      **imgslide.setX(x);** //image move by touch here 
     } 
     break; 
} 

編輯:Layout.xml

<LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/slideroot"> 

     <FrameLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="7" 
      android:id="@+id/slideroot2"> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/imageView6" 
       android:src="@drawable/slide350b" 
       android:adjustViewBounds="false" 
       android:scaleType="fitXY" /> 
     </FrameLayout> 

     <FrameLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="13"> 
     </FrameLayout> 
    </LinearLayout> 
+0

如果您有任何代碼,您還可以放置Layout創建代碼嗎? –

+0

當然,我添加了.. – Huseyin

+0

你是否編程創建了一個佈局,如下所示:'LinearLayout layout =(LinearLayout)findViewById(R.id.blabla);' –

回答

0

侯賽因,如果你有問題而移動的ImageView對象時,可以替代地,操作如下:

您可以將ImageView放在RelativeLayout的頂部,並且您可以設置一個左邊距以便移動,以便它的行爲就像您在imageView上使用'setX()'一樣。示例代碼片段將如下所示:

RelativeLayout.LayoutParams layout_params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); 
layout_params .leftMargin = x; //setX coordinate 
childView.setLayoutParams(layout_params); 
+0

其實我以前用RelativeLayout這個方法。它看起來用法會變得更加困難,我需要proportianal佈局,如'android:layout_weight =「7」'我使用LinearLay ..謝謝 – Huseyin