您好,登錄后才能下訂單哦!
Android怎么自定義view組件?這篇文章運用了實例代碼展示,代碼非常詳細,可供感興趣的小伙伴們參考借鑒,希望對大家有所幫助。
Android中的組件類似于swxing中的Panel,它只是一片空白區域,對于UI組件來說,只是在其中繪制外觀。
開發者可以繼承view,自定義自己的組件,然后重寫其中的方法:
構造器:當java創建或者xml創建組件時調用
下面通過一個例子,該例子設計一個組件,在手觸摸的地方繪制一個圓形:
新建java類,添加如下代碼:
package com.example.tupianliulanqi; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.view.MotionEvent; import android.view.View; public class MyView extends View { private Paint p = new Paint(); private float myX = 0; private float myY = 0; public MyView(Context context) { super(context); // TODO Auto-generated constructor stub } //用于重新繪制組件 public void onDraw(Canvas canvas) { super.onDraw(canvas); //設置畫筆屬性 p.setColor(Color.RED); canvas.drawCircle(myX, myY, 15, p); } //觸摸事件發生時調用 public boolean onTouchEvent(MotionEvent event) { myX = event.getX(); myY = event.getY(); //告訴需要重新繪制組件 this.invalidate(); return true; } }
在Activity中添加:
public class MainActivity extends Activity { MyView myview; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); LinearLayout layout = (LinearLayout)this.findViewById(R.id.main); myview = new MyView(this);; layout.addView(myview); }
以上就是Android自定義view組件的詳細內容,代碼示例簡單明了,如果在日常工作遇到此問題。通過這篇文章,希望你能有所收獲,更多詳情敬請關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。