2013-12-04 7 views
0

Я два объекта в андроиде XML, мой объект найти в горизонтальной ориентации, ImageView в левом и TextView в праве, мой коде выглядетьизменить положение при нажатии кнопки?

<LinearLayout 
      android:id="@+id/rowFile" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 
       <ImageView 
       android:id="@+id/img_dilvChat" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="10dip" 
       android:layout_marginRight="10dip" 
       /> 

       <TextView 
        android:id="@+id/txtFileName" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginRight="10dip"    
        android:gravity="left" 
        android:text="Nama File : test.zip" 
        android:textSize="10dip" /> 
</LinearLayout> 

я хочу, чтобы переключить 2 объекта при нажатии кнопки огнь (ImageView направо , текст слева)

как я этого добиваюсь?

ответ

2

Следующий код должен это сделать. Удалите ImageView и снова добавьте его в LinearLayout. Сделайте это за пределами слушателя OnClick.

LinearLayout row = (LinearLayout) findViewById(R.id.rowFile); 
ImageView image = (ImageView) findViewById(R.id.img_dilvChat); 

row.removeView(image); 
row.addView(image); 

row.invalidate(); 
+0

+1 для простого ответа :) – Hulk

+0

простой, и это то, что я искал .. спасибо. – ltvie

0

написать их в onClickListener Баттона

(findViewById(R.id.imageView)).getLocationOnScreen(posXY); 
int imgx = posXY[0]; 
int imgy = posXY[1]; 
(findViewById(R.id.textView)).getLocationOnScreen(posXY); 
int txtx = posXY[0]; 
int txty = posXY[1]; 
(findViewById(R.id.imageView)).setX(txtx); 
(findViewById(R.id.imageView)).setY(txty); 
(findViewById(R.id.textView)).setX(imgx); 
(findViewById(R.id.textView)).setY(imgy); 
Смежные вопросы