有人能告诉我如何在可点击的Android布局上制作动态气泡吗?
我的设计师为屏幕想到了以下内容 [![在图片中,所有气泡都是分配给用户的一些任务。气泡的标签会根据任务而变化][1]][1]
根据我的项目需求,颜色和半径将根据API响应而改变。
请问是否有任何演示或示例可供参考?我已经搜索过了,但找不到答案。请指导我完成这个任务。
有人能告诉我如何在可点击的Android布局上制作动态气泡吗?
我的设计师为屏幕想到了以下内容 [![在图片中,所有气泡都是分配给用户的一些任务。气泡的标签会根据任务而变化][1]][1]
根据我的项目需求,颜色和半径将根据API响应而改变。
请问是否有任何演示或示例可供参考?我已经搜索过了,但找不到答案。请指导我完成这个任务。
public class CustomView extends View {
private Paint paint;
public CustomView(Context context) {
super(context);
// create the Paint and set its color
paint = new Paint();
paint.setColor(Color.GRAY);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawColor(Color.BLUE);
canvas.drawCircle(200, 200, 100, paint);
}
}
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new CustomView(this));
}
}
已经有一个答案发布了,我也为你尝试了一下。希望你也能从这里得到一些帮助:
public class BubbleBackgroundDemoActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View view = new CustomView(this);
// RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(this.getWidth(),
// ViewGroup.LayoutParams.MATCH_PARENT);
// view.setLayoutParams(lp);
setContentView(view);
}
public class CustomView extends View {
private Paint paint;
int screenWidth, screenHeight;
public CustomView(Context context) {
super(context);
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
screenWidth = displaymetrics.widthPixels;
screenHeight = displaymetrics.heightPixels;
// create the Paint and set its color
paint = new Paint();
paint.setColor(Color.GRAY);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawColor(Color.BLUE);
canvas.drawCircle(200, 200, 100, paint);
canvas.drawCircle(screenWidth-200, 200, 100, paint);
canvas.drawCircle(screenWidth/2, screenHeight/2, 300, paint);
canvas.drawCircle(screenWidth-200, screenHeight-200, 100, paint);
canvas.drawCircle(200, screenHeight-200, 100, paint);
}
}
}