마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 스튜디오 그림 버튼으로 인해 좌우이동

0 추천

제가 그림을 움직이고 싶은데 좌우로 그림의 크기만큼 움직이고 싶은데 대충 이렇게 짯는데 그림이 안움직일뿐더러 아무런 효과가 없더라구요...ㅠㅠ 돠주세요

public class Main2Activity extends AppCompatActivity implements View.OnClickListener {
    int setX;
    int setY;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        setRequestedOrientation( ActivityInfo.SCREEN_ORIENTATION_PORTRAIT );
        Button Rbutton = (Button) findViewById(R.id.btn_R);
        Button Lbutton = (Button) findViewById(R.id.btn_L);
        Rbutton.setOnClickListener(this);
        Lbutton.setOnClickListener(this);
        setX = 120;
        setY = 800;
        ActionBar actionBar=getSupportActionBar();
        actionBar.hide();

    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.btn_L :
                setX=setX-120;
            case R.id.btn_R:
                setX=setX+120;

        }

    }
}
익명사용자 님이 2017년 12월 6일 질문

3개의 답변

0 추천
setX 계산 결과를 적용하고 그림을 새로고침할 필요가 있어보입니당
익명사용자 님이 2017년 12월 6일 답변
그것에대한추가설명이필요할거같습니다ㅎ
버튼을 클릭하게 되면 setX 의 값들만 변경되고 그림에 적용되는 동작이 하나도없네요 ㅜㅜ
imageView 라면 위치를 이동시키는 추가 동작이 필요해보인다는 말이었습니당
이미지뷰도 선언안되어있공.. 그저 숫자가 올랏다 내렷다 하는 동작밖에없네요 저 소스라면
이렇게 수정하엿는데 이미지뷰를 자체를 위치를 선언해줘야하는건가요??
public class Main2Activity extends AppCompatActivity implements View.OnClickListener {
    int setX;
    int setY;
    int pos_Mycar_x;
    int pos_Mycar_y;
    Button Lbutton;
    Button Rbutton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        Button Rbutton = (Button) findViewById(R.id.btn_R);
        Button Lbutton = (Button) findViewById(R.id.btn_L);
        Rbutton.setOnClickListener(this);
        Lbutton.setOnClickListener(this);
        setX = 120;
        setY = 800;
        pos_Mycar_x=180;
        pos_Mycar_y = 700;
        ActionBar actionBar = getSupportActionBar();
        actionBar.hide();

    }


    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_L :
                Lbutton.setX(Lbutton.getX() + Lbutton.getWidth());
                break;
            case R.id.btn_R:
                Rbutton.setX(Rbutton.getX() - Rbutton.getWidth());
                break;

        }
    }
}
최신답변으로 달아놧어여 ㅎㅎ
0 추천
public class Main2Activity extends AppCompatActivity implements View.OnClickListener {​
    Button rButton;
    Button lButton;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        setRequestedOrientation( ActivityInfo.SCREEN_ORIENTATION_PORTRAIT );
        rButton = (Button) findViewById(R.id.btn_R);
        lButton = (Button) findViewById(R.id.btn_L);
        rButton.setOnClickListener(this);
        lButton.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.btn_L :
                lButton.setX(lButton.getX() + lButton.getWidth())
                Toast.makeText(this, "간다 오른쪽!", Toast.LENGTH_SHORT).show()
                break;
            case R.id.btn_R:
                rButton.setX(rButton.getX() - rButton.getWidth())
                Toast.makeText(this, "간다 왼쪽!", Toast.LENGTH_SHORT).show()
                break;
        }
    }
}

 

 
minor (13,710 포인트) 님이 2017년 12월 6일 답변
0 추천
public class Main2Activity extends AppCompatActivity implements View.OnClickListener {​
    Button rButton;
    Button lButton;
    ImageView ivImage;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        setRequestedOrientation( ActivityInfo.SCREEN_ORIENTATION_PORTRAIT );
        rButton = (Button) findViewById(R.id.btn_R);
        lButton = (Button) findViewById(R.id.btn_L);
        ivImage = (ImageView)findViewById(R.id.하고싶은아디);
        rButton.setOnClickListener(this);
        lButton.setOnClickListener(this);
    }
 
    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.btn_L :
                ivImage.setX(lButton.getX() + lButton.getWidth())
                Toast.makeText(this, "간다 오른쪽!", Toast.LENGTH_SHORT).show()
                break;
            case R.id.btn_R:
                ivImage.setX(rButton.getX() - rButton.getWidth())
                Toast.makeText(this, "간다 왼쪽!", Toast.LENGTH_SHORT).show()
                break;
        }
    }
}

두번째 답변달아주신분꺼 참고하여 수정만 살짝함ㅎㅎ

익명사용자 님이 2017년 12월 6일 답변
만약에버튼을누르게되면이미지를겹치지않게되나요??
버튼몰아놓고 이미지만 크게놓는다면야... 걉칠일이 그닥 없지않을까여 ㅎㅎ
...