今天就跟大家聊聊有關(guān)怎么在Android studio項(xiàng)目中實(shí)現(xiàn)一個(gè)畫板功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
成都創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站制作、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元廊坊做網(wǎng)站,已為上家服務(wù),為廊坊各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792項(xiàng)目布局很簡(jiǎn)單
讓我們來看代碼:首先聲明畫筆,畫板,和坐標(biāo)
public class MainActivity extends AppCompatActivity{ Paint paint; Canvas canvas; ImageView imageview; Bitmap bitmap,newbitmap; TextView tv_stroke; int startX, startY, endX, endY; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_paint_tools); LinearLayout ll_layout = findViewById(R.id.ll_layout); RadioGroup rg_color = findViewById(R.id.rg_color);
遍歷單選按鈕,當(dāng)單選按鈕選中時(shí),獲取單選按鈕顏色并將畫筆顏色設(shè)置當(dāng)前按鈕的文本顏色,最后注意要設(shè)置畫筆寬度,以免在后面點(diǎn)橡皮擦的時(shí)候畫筆寬度調(diào)不回來
for (int i = 0;i首先創(chuàng)建一張空白圖片和一張灰色畫布,將圖片放在畫布上面
注冊(cè)觸摸監(jiān)聽事件,獲取鼠標(biāo)按下時(shí)的坐標(biāo)和鼠標(biāo)移動(dòng)后的坐標(biāo)。在開始和結(jié)束之間畫一條直線并更新畫布圖片
imageview.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch(event.getAction()){ case MotionEvent.ACTION_DOWN: Log.i("MyPaintToolsActivity","ACTION_DOWN"); startX = (int) (event.getX()/1.4); startY = (int) (event.getY()/1.4); break; case MotionEvent.ACTION_MOVE: Log.i("MyPaintToolsActivity","ACTION_MOVE"); endX = (int) (event.getX()/1.4); endY = (int) (event.getY()/1.4); canvas.drawLine(startX,startY,endX,endY,paint); startX = (int) (event.getX()/1.4); startY = (int) (event.getY()/1.4); imageview.setImageBitmap(bitmap); break; case MotionEvent.ACTION_UP: Log.i("MyPaintToolsActivity","ACTION_UP"); break; } imageview.invalidate(); return true; } });清屏的話就一行代碼 ,剩下的是重新生成一塊畫布
Button btn_clear = findViewById(R.id.btn_clear); btn_clear.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { canvas.drawColor(0,PorterDuff.Mode.CLEAR); bitmap = Bitmap.createBitmap(888,1200,Bitmap.Config.ARGB_8888); canvas = new Canvas(bitmap); canvas.drawColor(Color.argb(100,0,0,0)); paint = new Paint(); paint.setStrokeWidth(5); paint.setAntiAlias(true); paint.setColor(Color.RED); canvas.drawBitmap(bitmap,new Matrix(),paint); imageview.setImageBitmap(bitmap); } });呃,這里會(huì)把畫布擦掉…也就是擦成白色…
最后看看頁面布局
看完上述內(nèi)容,你們對(duì)怎么在Android studio項(xiàng)目中實(shí)現(xiàn)一個(gè)畫板功能有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
網(wǎng)頁題目:怎么在Androidstudio項(xiàng)目中實(shí)現(xiàn)一個(gè)畫板功能-創(chuàng)新互聯(lián)
當(dāng)前網(wǎng)址:http://weahome.cn/article/hepop.html