-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=0;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
character = (Character)findViewById(R.id.character);
Button btnLeft = (Button)findViewById(R.id.btnLeft);
btnLeft.setOnClickListener(new OnClickListener() {
public void onClick(View v)
{
X -= 30;
}
});
Button btnRight = (Button)findViewById(R.id.btnRight);
btnRight.setOnClickListener(new OnClickListener() {
public void onClick(View v)
{
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;
}
}
-activity_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"
android:gravity="center" >
<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();
}
}
위 코드는 제가 짠 코드인데요
여기서 두가지 질문좀 하겠습니다
왼쪽 버튼을 누르면 왼쪽으로 한칸씩 이동하구요. 오른쪽 버튼을 누르면 오른쪽으로 한칸씩 이동을 합니다. 근데 처음에 이미지 왼쪽으로 위치되어 있네요 ㅠㅠ 아무리 해봐도 가운데로 위치가 안됩니다 ㅠㅠ
어떻게 하면 좋을까요?ㅠㅠ 그리고 왼쪽이나 오른쪽으로 계속을 버튼을 누르면 화면에 끝나는 선에서 멈춰야 하는데.. 계속이 이동하네요 ㅡㅡ
이미지가 화면에서 벗어나서 계속 이동을 합니다. 어떻게 하면 오른쪽 화면 끝이랑 왼쪽 화면 끝에서 끝날 수 있을까요?
