rt

解决方案 »

  1.   

    放在一个横向布局的linearlayout里!!!!
      

  2.   

    这个可能帮到你import android.app.Activity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.MotionEvent;
    import android.view.View;
    import android.view.View.OnTouchListener;
    import android.widget.Button;public class MainActivity extends Activity {
    /** Called when the activity is first created. */
    private Button btn; @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    btn = (Button) findViewById(R.id.btnHello);
    btn.setOnTouchListener(new OnTouchListener() {
    int[] temp = new int[] { 0, 0 }; public boolean onTouch(View v, MotionEvent event) { int eventaction = event.getAction();
    Log.i("&&&", "onTouchEvent:" + eventaction); int x = (int) event.getRawX();
    int y = (int) event.getRawY(); switch (eventaction) { case MotionEvent.ACTION_DOWN: // touch down so check if the
    temp[0] = (int) event.getX();
    temp[1] = y - v.getTop();
    break; case MotionEvent.ACTION_MOVE: // touch drag with the ball
    v.layout(x - temp[0], y - temp[1], x + v.getWidth()
    - temp[0], y - temp[1] + v.getHeight());
    v.postInvalidate();
    break; case MotionEvent.ACTION_UP:
    break;
    }
    return false;
    }
    }); }
    }
      

  3.   

    在我机上运行成功了,你可以参考下需要说明的是   The type AbsoluteLayout.LayoutParams is deprecated Button bnt = (Button)findViewById(R.id.button_moves);
    bnt.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) { //重新设置按钮位置
    Button bnts = (Button)findViewById(R.id.button_moves); AbsoluteLayout.LayoutParams vg = (AbsoluteLayout.LayoutParams)bnts.getLayoutParams();
    vg.x = getRandom();
    vg.y = getRandom();
    bnts.setLayoutParams(vg);
    }

    }); /**
     * 得到一个随机数
     * 
     * @return
     * @author BK_DeathKninght
     * @date 2011-6-30
     */
    private int getRandom() {
    int Temp = (int)Math.round(Math.random()*124+4);
    return Temp;
    }
      

  4.   

    想任意指定控件坐标就用ViewGroup,系统定义的布局不好用。