質問編集履歴

5

まとまりごとにコードの分割し直しました。記述ミス

2017/11/23 08:15

投稿

KaWoRu
KaWoRu

スコア14

test CHANGED
File without changes
test CHANGED
@@ -22,17 +22,13 @@
22
22
 
23
23
 
24
24
 
25
-
26
-
27
-
28
-
29
25
  ```ここに言語を入力
30
26
 
31
27
  ImageView ○○○○○,△△△△△,□□□□□,▽▽▽▽▽;
32
28
 
33
- ScaleAnimation aaaaa,bbbbb; //aaaaaは拡大用,bbbbbは縮小用
29
+ ScaleAnimation aaaaa,bbbbb; //aaaaaは拡大用,bbbbbは縮小用
34
-
30
+
35
- int signal1=0,signal2=0,signal3=0;//ONを1 OFFを0
31
+ int signal1=0,signal2=0,signal3=0; //ONを1 OFFを0
36
32
 
37
33
 
38
34
 
@@ -40,7 +36,11 @@
40
36
 
41
37
  //signal_1は○○○○○のon-off用,signal_2は△△△△△のon-off用,signal_3は□□□□□のon-off用
42
38
 
39
+ ```
40
+
41
+
42
+
43
- ------
43
+ ```ここに言語を入力
44
44
 
45
45
  <MainActivity.java>
46
46
 
@@ -58,11 +58,13 @@
58
58
 
59
59
  △△△△△ = (ImageView) findViewById(R.id.imafeview2);
60
60
 
61
- □□□□□, = (ImageView) findViewById(R.id.imafeview3);
61
+ □□□□□ = (ImageView) findViewById(R.id.imafeview3);
62
-
62
+
63
+
64
+
63
- public void vvvvv();
65
+ vvvvv();
64
-
66
+
65
- public void fffff();
67
+ fffff();
66
68
 
67
69
  }
68
70
 
@@ -70,9 +72,11 @@
70
72
 
71
73
  public void vvvvv(){
72
74
 
75
+ //ビューをビュー50%の位置から1.0倍から1.2倍へ
76
+
73
- aaaaa = new ScaleAnimation(1.0f, 1.2f, 1.0f, 1.2f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); //ビューをビュー50%の位置から1.0倍から1.2倍へ
77
+ aaaaa = new ScaleAnimation(1.0f, 1.2f, 1.0f, 1.2f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
74
-
78
+
75
- aaaaa.setDuration(400); //再生時間の指定
79
+ aaaaa.setDuration(400);//再生時間の指定
76
80
 
77
81
  aaaaa.setFillAfter(true);//終了時の状態(固定)
78
82
 
@@ -82,137 +86,153 @@
82
86
 
83
87
  public void fffff(){
84
88
 
89
+ //ビューをビュー50%の位置から1.2倍から1.0倍へ
90
+
85
- bbbb = new ScaleAnimation(1.2f, 1.0f, 1.2f, 1.0f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);//ビューをビュー50%の位置から1.2倍から1.0倍へ
91
+ bbbbb = new ScaleAnimation(1.2f, 1.0f, 1.2f, 1.0f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
86
-
92
+
87
- bbbb.setDuration(400);//再生時間の指定
93
+ bbbbb.setDuration(400);//再生時間の指定
88
-
94
+
89
- bbbb.setFillAfter(true);//終了時のビューの状態(固定)
95
+ bbbbb.setFillAfter(true);//終了時のビューの状態(固定)
90
-
91
-
92
-
96
+
93
- }
97
+ }
98
+
99
+
100
+
94
-
101
+ ```
102
+
103
+
104
+
95
- -------
105
+ ```ここに言語を入力
96
-
106
+
97
- <一つ目のimageViewの処理>
107
+ <一つ目のimageViewが押された時の処理>
98
108
 
99
109
  public void view_Click1(View view){
100
110
 
101
111
  if(signal1==0){
102
112
 
103
- signal1=1;               //画像View○○○○○が押されたので,ON状態を示す1に書き換え 1をON 0をOFF
113
+ signal1=1;               //画像View○○○○○が押されたので,ON状態を示す1に書き換え 1をON 0をOFF
104
-
114
+
105
- ○○○○○.startAnimation(aaaaa); //画像View○○○○○の拡大
115
+ ○○○○○.startAnimation(aaaaa); //画像View○○○○○の拡大
106
-
107
-
108
-
116
+
117
+
118
+
109
-  if(signal2==1){ //もし△△△△△ViewがON状態であればOFF状態にするための条件
119
+ if(signal2==1){ //他のViewがON 状態であればOFF状態にするための記述
110
-
120
+
111
-   signal2=0; //ONからOFFへ書き換え
121
+ signal2=0; //ONからOFFへ書き換え
112
-
122
+
113
-   △△△△△.startAnimation(bbbbb); //ONであれば拡大されているのでOFFの際は縮小モーションを再生
123
+ △△△△△.startAnimation(bbbbb); //同時に縮小モーションを再生
114
-
124
+
115
-   }else if(signal3==1){ //もし,□□□□□ViewがONの状態であればOFFの状態にする。
125
+ }else if(signal3==1){
116
-
126
+
117
-   signal3=0; //ONからOFFへ書き換え
127
+ signal3=0;//ONからOFFへ書き換え
118
-
128
+
119
-   □□□□□.startAnimation(bbbbb) //ONであれば一度拡大がされているので,OFFのときは同時に縮小モーションを再生
129
+ □□□□□.startAnimation(bbbbb) //同時に縮小モーションを再生
120
-
130
+
121
-   }       
131
+ }       
122
-
123
-
124
-
132
+
133
+
134
+
125
- }else if(signla1==1){
135
+ }else if(signal==1){
126
-
136
+
127
- signal=0;             //ON状態からOFF状態に切り替えるため0に書き換え
137
+ signal=0;             //ON状態からOFF状態に切り替えるため0に書き換え
128
-
138
+
129
- ○○○○○.startAnimation(bbbbb); //オン状態であれば一度拡大が実行されているので縮小モーションを再生する。
139
+ ○○○○○.startAnimation(bbbbb); //オン状態であれば一度拡大が実行されているので縮小モーションを再生する。
130
-
140
+
131
- }
141
+ }
132
-
142
+
133
- }
143
+ }
144
+
134
-
145
+ ```
146
+
147
+ ```ここに言語を入力
148
+
135
- <二つ目のimageViewの処理>
149
+ <二つ目のimageViewが押された時の処理>
150
+
151
+
136
152
 
137
153
  public void view_Click2(View view){
138
154
 
139
155
  if(signal2==0){
140
156
 
141
- signal2=1;
157
+ signal2=1;
142
-
158
+
143
- △△△△△.startAnimation(aaaaa);
159
+ △△△△△.startAnimation(aaaaa);
144
-
145
-
146
-
160
+
161
+
162
+
147
-   if(signal1==1){
163
+ if(signal1==1){
148
-
164
+
149
-    signal1=0;
165
+ signal1=0;
150
-
166
+
151
-    ○○○○○.startAnimation(bbbbb);
167
+ ○○○○○.startAnimation(bbbbb);
152
-
168
+
153
-    }else if(signal3==1){
169
+ }else if(signal3==1){
154
-
170
+
155
-    signal3=0;
171
+ signal3=0;
156
-
172
+
157
-    □□□□□.startAnimation(bbbbb);
173
+ □□□□□.startAnimation(bbbbb);
158
-
174
+
159
-    }
175
+ }
160
176
 
161
177
 
162
178
 
163
179
  }else if(signal2==1){
164
180
 
165
- signal2=0;
181
+ signal2=0;
166
-
182
+
167
- △△△△△.startAnimation(bbbbb);
183
+ △△△△△.startAnimation(bbbbb);
168
-
169
-
170
-
184
+
171
- }
185
+ }
172
-
186
+
173
- }
187
+ }
188
+
174
-
189
+ ```
190
+
191
+ ```ここに言語を入力
192
+
175
- <三つ目のimageViewの処理>
193
+ <三つ目のimageViewが押された時の処理>
194
+
195
+
176
196
 
177
197
  public void view_Click3(View view){
178
198
 
179
199
  if(signal3==0){
180
200
 
181
- signal3=1;
201
+ signal3=1;
182
-
202
+
183
- □□□□□.startAnimation(aaaaa);
203
+ □□□□□.startAnimation(aaaaa);
184
-
185
-
186
-
204
+
205
+
206
+
187
-   if(signal1==1){
207
+ if(signal1==1){
188
-
208
+
189
-    signal1=0;
209
+ signal1=0;
190
-
210
+
191
-    ○○○○○.startAnimation(bbbbb);
211
+ ○○○○○.startAnimation(bbbbb);
192
-
212
+
193
-   }else if(signal2==1){
213
+ }else if(signal2==1){
194
-
214
+
195
-    signal2=0;
215
+ signal2=0;
196
-
216
+
197
-    △△△△△.startAnimation(bbbbb);
217
+ △△△△△.startAnimation(bbbbb);
198
-
218
+
199
-   }
219
+ }
200
220
 
201
221
 
202
222
 
203
223
  }else if(signal3==1){
204
224
 
205
- signal3==0;
225
+ signal3=0;
206
-
226
+
207
- □□□□□.startAnimation(bbbbb);
227
+ □□□□□.startAnimation(bbbbb);
208
-
209
-
210
-
228
+
211
- }
229
+ }
212
-
230
+
213
- }
231
+ }
214
-
232
+
215
- ```
233
+ ```
234
+
235
+
216
236
 
217
237
 
218
238
 

4

記述ミス

2017/11/23 08:15

投稿

KaWoRu
KaWoRu

スコア14

test CHANGED
File without changes
test CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
  ScaleAnimation aaaaa,bbbbb; //aaaaaは拡大用,bbbbbは縮小用
34
34
 
35
- int signal_1=0,signal_2=0,signal_3=0;//ONを1 OFFを0
35
+ int signal1=0,signal2=0,signal3=0;//ONを1 OFFを0
36
36
 
37
37
 
38
38
 

3

質問する上でメソッドの省略が多くあり,質問が分かりづらい点と問題点が不明瞭という点で加筆および編集しています。

2017/11/23 07:41

投稿

KaWoRu
KaWoRu

スコア14

test CHANGED
File without changes
test CHANGED
@@ -28,14 +28,46 @@
28
28
 
29
29
  ```ここに言語を入力
30
30
 
31
- ImageView ○○○○,△△△△;
31
+ ImageView ○○○○,△△△△△,□□□□□,▽▽▽▽▽;
32
-
32
+
33
- ScaleAnimation aaaaa,bbbbb;
33
+ ScaleAnimation aaaaa,bbbbb; //aaaaaは拡大用,bbbbbは縮小用
34
-
34
+
35
- int signal_1=0, signal_2=0; //ONを1 OFFを0
35
+ int signal_1=0,signal_2=0,signal_3=0;//ONを1 OFFを0
36
+
37
+
38
+
39
+ //○○○○○はonClickをview_Click1,△△△△△は,onClickをview_Click2,□□□□□はonClickをview_Click3
40
+
41
+ //signal_1は○○○○○のon-off用,signal_2は△△△△△のon-off用,signal_3は□□□□□のon-off用
36
42
 
37
43
  ------
38
44
 
45
+ <MainActivity.java>
46
+
47
+ @Override
48
+
49
+ protected void onCreate(Bundle savedInstanceState) {
50
+
51
+ super.onCreate(savedInstanceState);
52
+
53
+ setContentView(R.layout.activity_main);
54
+
55
+
56
+
57
+ ○○○○○ = (ImageView) findViewById(R.id.imafeview1);
58
+
59
+ △△△△△ = (ImageView) findViewById(R.id.imafeview2);
60
+
61
+ □□□□□, = (ImageView) findViewById(R.id.imafeview3);
62
+
63
+ public void vvvvv();
64
+
65
+ public void fffff();
66
+
67
+ }
68
+
69
+
70
+
39
71
  public void vvvvv(){
40
72
 
41
73
  aaaaa = new ScaleAnimation(1.0f, 1.2f, 1.0f, 1.2f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); //ビューをビュー50%の位置から1.0倍から1.2倍へ
@@ -64,51 +96,121 @@
64
96
 
65
97
  <一つ目のimageViewの処理>
66
98
 
99
+ public void view_Click1(View view){
100
+
67
- if(signal_1==0){
101
+ if(signal1==0){
68
-
102
+
69
- signal=1;   //押されたのでON状態るため1に書き換え
103
+ signal1=1;               //画像View○○○○○が押されたのでON状態を示1に書き換え 1をON 0をOFF
70
-
71
- vvvvv();
104
+
72
-
73
- ○○○○.startAnimation(aaaaa);//○○○○imageViewに対してaaaaa(拡大)を行う
105
+ ○○○○.startAnimation(aaaaa); //画像View○○○○○の拡大
106
+
107
+
108
+
74
-
109
+  if(signal2==1){ //もし△△△△△ViewがONの状態であればOFFの状態にするための条件
110
+
111
+   signal2=0; //ONからOFFへ書き換え
112
+
113
+   △△△△△.startAnimation(bbbbb); //ONであれば拡大されているのでOFFの際は縮小モーションを再生
114
+
115
+   }else if(signal3==1){ //もし,□□□□□ViewがONの状態であればOFFの状態にする。
116
+
117
+   signal3=0; //ONからOFFへ書き換え
118
+
119
+   □□□□□.startAnimation(bbbbb) //ONであれば一度拡大がされているので,OFFのときは同時に縮小モーションを再生
120
+
75
- }
121
+   }       
76
-
122
+
123
+
124
+
77
- else if(signal_1==1){
125
+ }else if(signla1==1){
78
-
126
+
79
- signal=0;   //押されたのでOFF状態とするために書き換え
127
+ signal=0;             //ON状態からOFF状態に切り替えるため0に書き換え
80
-
81
- fffff();
128
+
82
-
83
- ○○○○.startAnimation(bbbbb);//○○○○imageViewに対しbbbbb(縮小行う
129
+ ○○○○.startAnimation(bbbbb); //オン状態であれば一度拡大が実行されいるので縮小モーション再生する。
84
-
130
+
85
- }
131
+ }
132
+
86
-
133
+ }
87
-
88
134
 
89
135
  <二つ目のimageViewの処理>
90
136
 
137
+ public void view_Click2(View view){
138
+
91
- if(signal_2==0){
139
+ if(signal2==0){
92
-
140
+
93
- signal_2=1;   //押されたのでON状態とするため1に書き換え
141
+ signal2=1;
94
-
95
- vvvvv();    //拡大処理
142
+
96
-
97
- △△△△.startAnimation(aaaaa);//△△△△imageViewに対してaaaaa(拡大)を行う
143
+ △△△△.startAnimation(aaaaa);
144
+
145
+
146
+
98
-
147
+   if(signal1==1){
148
+
149
+    signal1=0;
150
+
151
+    ○○○○○.startAnimation(bbbbb);
152
+
153
+    }else if(signal3==1){
154
+
155
+    signal3=0;
156
+
157
+    □□□□□.startAnimation(bbbbb);
158
+
99
- }
159
+    }
100
-
160
+
161
+
162
+
101
- else if(signal==1){
163
+ }else if(signal2==1){
102
-
164
+
103
- signal_2=0;   //押されたのでOFF状態とするため0に書き換え
165
+ signal2=0;
104
-
105
- fffff();    //縮小処理
166
+
106
-
107
- △△△△.startAnimation(bbbbb);//△△△△imageViewに対してbbbbb(縮小)を行う
167
+ △△△△.startAnimation(bbbbb);
108
-
168
+
169
+
170
+
109
- }
171
+ }
172
+
110
-
173
+ }
174
+
111
-
175
+ <三つ目のimageViewの処理>
176
+
177
+ public void view_Click3(View view){
178
+
179
+ if(signal3==0){
180
+
181
+ signal3=1;
182
+
183
+ □□□□□.startAnimation(aaaaa);
184
+
185
+
186
+
187
+   if(signal1==1){
188
+
189
+    signal1=0;
190
+
191
+    ○○○○○.startAnimation(bbbbb);
192
+
193
+   }else if(signal2==1){
194
+
195
+    signal2=0;
196
+
197
+    △△△△△.startAnimation(bbbbb);
198
+
199
+   }
200
+
201
+
202
+
203
+ }else if(signal3==1){
204
+
205
+ signal3==0;
206
+
207
+ □□□□□.startAnimation(bbbbb);
208
+
209
+
210
+
211
+ }
212
+
213
+ }
112
214
 
113
215
  ```
114
216
 
@@ -121,3 +223,7 @@
121
223
  申し訳ありませんが,何が問題となっているのか教えてください。
122
224
 
123
225
  よろしくお願いします。
226
+
227
+
228
+
229
+ 追記および変更〔省略していた部分を追記しています。またボタンの数が2つでは再現性が分かりづらいので3つのViewでのメソッドを書いています。〕

2

タグScaleだけでは意味がそれぞれ異なるため

2017/11/22 12:21

投稿

KaWoRu
KaWoRu

スコア14

test CHANGED
File without changes
test CHANGED
File without changes

1

コピペの場所を間違えていましたので,不要の記述を削除しました。

2017/11/22 10:49

投稿

KaWoRu
KaWoRu

スコア14

test CHANGED
File without changes
test CHANGED
@@ -56,7 +56,7 @@
56
56
 
57
57
  bbbb.setFillAfter(true);//終了時のビューの状態(固定)
58
58
 
59
- △△△△.startAnimation(bbbbb);//△△△△よりbbbbbを行う
59
+
60
60
 
61
61
  }
62
62