###前提・実現したいこと
ボタンを押すとそのボタンに応じて円の色を変えたいです。
###該当のソースコード
Java
1 2import android.support.v7.app.AppCompatActivity; 3import android.os.Bundle; 4import android.view.View; 5 6public class MainActivity extends AppCompatActivity { 7 8 int button; 9 10 @Override 11 protected void onCreate(Bundle savedInstanceState) { 12 super.onCreate(savedInstanceState); 13 setContentView(R.layout.activity_main); 14 } 15 16 public void Button1(View view) { 17 button = 1; 18 } 19 20 public void Button2(View view) { 21 button = 2; 22 } 23}
java
1 2import android.content.Context; 3import android.graphics.Canvas; 4import android.graphics.Color; 5import android.graphics.Paint; 6import android.util.AttributeSet; 7import android.view.View; 8 9public class ViewClass extends View { 10 public ViewClass(Context context, AttributeSet attrs) { 11 super(context, attrs); 12 setFocusable(true); 13 } 14 15 int button = 1; 16 Paint paint = new Paint(); 17 18 @Override 19 protected void onDraw(Canvas canvas) { 20 super.onDraw(canvas); 21 22 paint.setStyle(Paint.Style.FILL_AND_STROKE); 23 24 switch (button) { 25 case 1: 26 paint.setColor(Color.RED); 27 canvas.drawCircle(100,100,100,paint); 28 break; 29 case 2: 30 paint.setColor(Color.BLUE); 31 canvas.drawCircle(100,100,100,paint); 32 break; 33 } 34 } 35}
xml
1<?xml version="1.0" encoding="utf-8"?> 2<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/res-auto" 4 xmlns:tools="http://schemas.android.com/tools" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 android:orientation="vertical" 8 tools:context="com.penguinsoftware.test2.MainActivity"> 9 10 <Button 11 android:layout_width="wrap_content" 12 android:layout_height="wrap_content" 13 android:onClick="Button1" 14 android:text="赤" /> 15 16 <Button 17 android:layout_width="wrap_content" 18 android:layout_height="wrap_content" 19 android:onClick="Button2" 20 android:text="青" /> 21 22 <com.penguinsoftware.test2.ViewClass 23 android:layout_width="wrap_content" 24 android:layout_height="wrap_content" /> 25 26</LinearLayout>
###試したこと
intentで送ろうとしたのですが、うまく行きませんでした。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。