質問編集履歴

2

タグについて

2016/11/30 11:06

投稿

naaaaaaamai
naaaaaaamai

スコア7

test CHANGED
File without changes
test CHANGED
File without changes

1

ソースコードjavaを追記しました。

2016/11/30 11:05

投稿

naaaaaaamai
naaaaaaamai

スコア7

test CHANGED
File without changes
test CHANGED
@@ -1 +1,93 @@
1
1
  androidstudioでcanvas自体の位置をボタンを押したときに変更したく画像のアニメーションは多く見かけるのですが、canvas自体をボタンにで動作させようとするとよくわからなくなりました。参考になるようなサイトやどのように書けばいいかわかる方がいましたら回答よろしくお願い致します。
2
+
3
+ *追記
4
+
5
+ ButtonOnCanvas.java
6
+
7
+ public class ButtonOnCanvas extends Activity {
8
+
9
+ @Override
10
+
11
+ public void onCreate(Bundle savedInstanceState) {
12
+
13
+ super.onCreate(savedInstanceState);
14
+
15
+ setContentView(R.layout.main);
16
+
17
+
18
+
19
+ Button button =(Button) findViewById(R.id.button);
20
+
21
+ button.setOnClickListener(listener);
22
+
23
+ }
24
+
25
+ View.OnClickListener listener = new View.OnClickListener(){
26
+
27
+ @Override
28
+
29
+ public void onClick(View v){
30
+
31
+ }
32
+
33
+ };
34
+
35
+ }
36
+
37
+
38
+
39
+ CanvasTest.java
40
+
41
+ public class CanvasTest extends View {
42
+
43
+
44
+
45
+ public int rad = 0;
46
+
47
+ public static final Paint paint = new Paint();
48
+
49
+ public Point real;
50
+
51
+
52
+
53
+
54
+
55
+ public CanvasTest(Context context, AttributeSet attrs){
56
+
57
+ super(context,attrs);
58
+
59
+ }
60
+
61
+ @Override
62
+
63
+ public void onDraw(Canvas canvas){
64
+
65
+ super.onDraw(canvas);
66
+
67
+ paint.setAntiAlias(true);
68
+
69
+ //描画する中心
70
+
71
+ canvas.translate(canvas.getWidth()/2, canvas.getHeight()/2);
72
+
73
+ canvas.rotate(rad);
74
+
75
+ paint.setStrokeCap(Paint.Cap.SQUARE);
76
+
77
+ paint.setStyle(Paint.Style.STROKE);
78
+
79
+ paint.setStrokeWidth(20);
80
+
81
+ paint.setAlpha(125);
82
+
83
+ RectF oval8 = new RectF(-250, -250, 250, 250);
84
+
85
+ paint.setColor(Color.RED);{canvas.drawArc(oval8, 180, 90, false, paint);}
86
+
87
+ paint.setColor(Color.GREEN);{canvas.drawArc(oval8, 270, 90, false, paint);}
88
+
89
+ }
90
+
91
+ }
92
+
93
+ 初心者でわからないのですべて乗せてしまいました。すみませんがよろしくお願い致します。