视频上的Android动态泡泡

时间:2017-01-02 05:16:00

标签: android android-layout

任何人都可以在Android布局上制作可点击的动态气泡。

我的设计师认为屏幕在[![我的图像所有气泡是分配给用户的一些任务。气泡的标签根据任务变化] [1]] [1]

根据我的项目要求,颜色和半径将根据api响应而变化。

您能否请您推荐任何演示或示例。我用Google搜索,但我找不到答案。请指导我完成这个。

2 个答案:

答案 0 :(得分:1)

这就是自定义圈创建的方式,你可以引用各种链接来动态地在画布上创建圆圈

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));
    }

}

答案 1 :(得分:1)

由于已经发布了一个答案,我也试过了。希望你也能从这里得到一些帮助:

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);

        }

    }

}