0
我想創建一個應用程式,例如加入點通過按鈕連線多個按鈕然後在Android
對於我是在onclick事件使用上main_layout文件
imagebuttons我想畫一條線按鈕
兩者之間如對BUTTON2點擊,從按鈕1到按鈕2線應該在BUTTON3點擊,線從BUTTON2繪製 到BUTTON3
這很簡單,同意 而T3 o畫線我正在使用畫布,這使我很難處理onclick事件
我正在計算我的mainActivity的onResume()方法中的座標。
下一步該做什麼?帆布的任何替代方案?
public class MainActivity extends Activity implements OnClickListener {
public Button b1,b2,b3;
public int co_orodinates[];
public int b1x,b1y,b2x,b2y,b3x,b3y;
public Bitmap bitmap;
public Canvas canvas;
@Override
protected void onResume()
{
super.onResume();
b1.getLocationOnScreen(co_orodinates);
Log.d("b1 location "," "+co_orodinates[0]+" "+co_orodinates[1]);
b1x=co_orodinates[0];b1y=co_orodinates[1];
co_orodinates[0]=0;co_orodinates[1]=0;
b2.getLocationOnScreen(co_orodinates);
Log.d("b2 location "," "+co_orodinates[0]+" "+co_orodinates[1]);
b2x=co_orodinates[0];b2y=co_orodinates[1];
co_orodinates[0]=0;co_orodinates[1]=0;
b3.getLocationOnScreen(co_orodinates);
Log.d("b3 location "," "+co_orodinates[0]+" "+co_orodinates[1]);
b2x=co_orodinates[0];b2y=co_orodinates[1];
co_orodinates[0]=0;co_orodinates[1]=0;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
co_orodinates=new int[2];
b1=(Button) findViewById(R.id.imageButton1);
b2=(Button) findViewById(R.id.imageButton2);
b3=(Button) findViewById(R.id.imageButton3);
b1.setOnClickListener(this);
b2.setOnClickListener(this);
b3.setOnClickListener(this);
bitmap = Bitmap.createBitmap(50, 100, Bitmap.Config.ARGB_8888);
canvas = new Canvas(bitmap);
Drawable drawable = new BitmapDrawable(bitmap);
Paint paint = new Paint();
}
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
switch(view.getId())
{
case R.id.imageButton2:
//行應該從Button1的被吸引到BUTTON2
break;
case R.id.imageButton3:
//行應該從BUTTON2被吸引到BUTTON3
break;
}
}
}
非常感謝@PsyGik的答案。我正在開發一種相同的應用程序。 我以前找不到那個問題。 – ThatMRFBat