我是安卓新手。我想在android中创建自己的自定义按钮;我用来创建自定义按钮的方法是;1.在paint中绘制任何您想要的简单图像,然后转到可绘制资源然后粘贴该图像。从那里,我们可以将这些图像用作按钮。假设我的形象是这样的,
我制作了此图像的其余部分,不包括绿色透明,这样我只会使绿色区域可触摸,为此我使用此代码,
Bitmap TheBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.green);
int eventPadTouch = event.getAction();
int iX = (int) event.getX();
int iY = (int) event.getY();
int[] location = new int[2];
v.getLocationOnScreen(location);
int viewX = location[0];
int viewY = location[1];
switch (eventPadTouch) {
case MotionEvent.ACTION_DOWN:
if (iX>=viewX & iY>=viewY & iX<=(viewX+TheBitmap.getWidth()) & iY<=(viewY+TheBitmap.getHeight())) {
if (TheBitmap.getPixel(iX,iY)!=0) {
Intent intent = new Intent(this, NewActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
showPressedState();
return false;
}
}
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
showNormalState();
break;
}
return true;
}
但是当我制作这样的图像时, 我面临的问题是图像中曲线部分下方的 THE 再次可触摸但我将其设置为不可触摸。当我转到下一个问题时,如果我想创建这种按钮, 我想让所有部分都用作按钮,以便我可以在上面执行不同的活动,这可能吗?
我发现这一切正在发生,因为 android 只提供有限类型的布局,如 LINEAR LAYOUT、RELATIVE LAYOUT、WEBVIEW。那么,如果我能够给出布局的边界,有什么方法可以定义我们自己的布局方式。