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

버튼 클릭시 이미지 이동(왼쪽/오른쪽) <센스가이님 도와주세요> [closed]

0 추천

센스가이님~ 어제 님께서 알려주신대로 수정해서 확인했는데요...

왼쪽으로 이동할때는 왼쪽 끝에서 끝났는데..오른쪽으로 이동할때는 계속 이동하네요...ㅠㅠㅠ

MainActivity.java 부분만 님께서 말씀하신대로 수정하면 되는건지..

아님 다른 곳도 수정을 해야하는지 궁금하네요 ㅠ

그리고 이미지 위치를 가운데로 위치할려고 이등분하여 나누어도 위치는 그대로 왼쪽으로 위치하여 있네요 ㅠㅠ

밑에는 제가 짠 코드입니다.

-MainActivity.java-

package com.example.viewexam;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {
 Character character;
 public static int X;

   protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);

  character = (Character)findViewById(R.id.character);
  X = character.getWidth()/2;
 
  Button btnLeft = (Button)findViewById(R.id.btnLeft);
  btnLeft.setOnClickListener(new OnClickListener() {
  
   public void onClick(View v)
   {
    if(X > 0)
    X -= 30;
   }
  });
 
  Button btnRight = (Button)findViewById(R.id.btnRight);
  btnRight.setOnClickListener(new OnClickListener() {
  
      public void onClick(View v)
      {
       if(X < character.getWidth())
       X += 30;
      }
  });
   }

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.main, menu);
  return true;
 }

}

-ativity_main.xml-

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    android:gravity="center"
    tools:context=".MainActivity" >

  <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="280dp" >
        <com.example.viewexam.Character
            android:id="@+id/character"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>
         
  <LinearLayout
      android:layout_width="wrap_content"
         android:layout_height="wrap_content" >
    
   <Button
    android:id="@+id/btnLeft"
    android:layout_width="100dp"
    android:layout_height="50dp"
    android:text="@string/btnLeft" />
 
   <Button
    android:id="@+id/btnRight"
    android:layout_width="100dp"
    android:layout_height="50dp"
    android:text="@string/btnRight" />
   
  </LinearLayout>
</LinearLayout>

-Character.java-

package com.example.viewexam;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;

public class Character extends View{
  Paint paint;
  Bitmap bitmap;

 public Character(Context context, AttributeSet attrs) {
    super(context, attrs);
    bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ball);
   }
 
@Override
 protected void onDraw(Canvas canvas) {
   super.onDraw(canvas);
   canvas.drawBitmap(bitmap, MainActivity.X, 0, paint);
   invalidate();
  }
 }

질문을 종료한 이유: 새로 질문.
martin_Mac (370 포인트) 님이 2013년 5월 8일 질문
martin_Mac님이 2013년 5월 8일 closed
...