2017-01-02 70 views
4

任何人都可以在Android佈局上製作可點擊的動態氣泡。Android動態視圖上的氣泡

我的設計師認爲屏幕下面是[![我圖像所有的泡泡都是分配給用戶的一些任務集。泡泡的標籤根據任務改變] [1]] [1]

根據我的項目要求,顏色和半徑會根據api響應而改變。

可以請您提供任何演示或示例。我GOOGLE了,但我無法找到答案。請指導我完成此操作。

+0

這裏沒有什麼內置的。你必須從頭開始。不應該太糟糕 - 畫布上的畫圈很容易。研究如何製作自定義視圖。 –

+0

@GabeSechan你能爲此提出一些示例嗎? –

+0

您必須在畫布上繪製所有視圖。 – theLazyFinder

回答

2

作爲一個答案已經發布,我也嘗試過你。希望你也能從這裏得到一些幫助:

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

     } 

    } 

} 
+0

我會盡量讓你知道。謝謝 –

+0

偉大的工作完美的作品。那麼我的另一個疑問是,我怎麼能給這個圓圈點擊方法,併爲不同的顏色相同? –

2

這是你如何自定義創建圈各種參考,鏈接,在畫布上創建圈子動態

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

} 
+0

謝謝你。你可以請指導我如何在項目 –

+0

實現如何創建一個自定義視圖像CustomView創建一個構造函數並傳遞位置x,y和半徑的參數。 – siddhesh

+0

通過調用創建圈子CustomView對象 – siddhesh