03 March 2014

Penggunaan drawing brush di "Seseratan 1.0"


Masih membahas tentang pemogramman di android, kali ini saya ingin share tentang aplikasi Seseratan. Aplikasi Seseratan adalah aplikasi tentang pembelajaran aksara sunda. Berawal dari pengalaman saya ketika masih SMA yaitu belajar bahasa sunda dan salah satunya latihan menulis aksara sunda. Nah dari situ saya coba untuk membuat aplikasi untuk melatih kemampuan dalam menulis aksara sunda yang dilengkapi dengan fitur drawing brush. Dengan adanya fitur tersebut maka dapat meminimalisir penggunaan kertas untuk corat - coret latihan membuat tulisan. 

Penggunaan fitur Drawing brush ini hanya sebatas dapat menulis atau mengambar dengan brush diseluruh area layar dan menghapusnya menggunakan tombol. Selain itu pembuatan aplikasi ini bertujuan untuk mengenalkan budaya dan aksara sunda yang sangat bersejarah ini. Ini beberapa screenshoot nya :

Menu utama

Pilihan aksara

Contoh salah satu aksara

Contoh drawing brush

Aplikasinya bisa di unduh di
Play Store https://play.google.com/store/search?q=seseratan atau melalui gambar ini :
Get it on Google Play

Bagaimana cara membuat fitur drawing brush ? kita hanya memerlukan 2 class kemudian dihalaman layout yang kita pilih, class nya (Misal class ShowAngka.java) di kasih link ke class DrawAksara.
Contohnya : saya menggunakan class DrawAksara dan class AksaraViewDraw.

1. Class DrawAksara
 package seseratan.bhayang.com;  
 import android.app.Activity;  
 import android.os.Bundle;  
 public class DrawAksara extends Activity {  
      @Override  
      public void onCreate(Bundle savedInstanceState) {  
           super.onCreate(savedInstanceState);  
           AksaraViewDraw tv = new AksaraViewDraw(this);  
           setContentView(tv);  
           addContentView(tv.btnReset, tv.params);  
      }  
      @Override  
      protected void onPause() {  
           // TODO Auto-generated method stub  
           super.onPause();  
           finish();  
      }  
 }  

Class DrawAksara

2. Class AksaraViewDraw
 package seseratan.bhayang.com;  
 import android.content.Context;  
 import android.graphics.Canvas;  
 import android.graphics.Color;  
 import android.graphics.Paint;  
 import android.graphics.Path;  
 import android.view.MotionEvent;  
 import android.view.View;  
 import android.view.ViewGroup.LayoutParams;  
 import android.widget.Button;  
 public class AksaraViewDraw extends View {  
      private Paint paint = new Paint();  
      private Path path = new Path();  
      private Paint circlePaint = new Paint();  
      private Path circlePath = new Path();  
      public Button btnReset;  
      public LayoutParams params;  
      public AksaraViewDraw(Context context) {  
           super(context);  
           paint.setAntiAlias(true);  
           paint.setColor(Color.BLACK);  
           paint.setStyle(Paint.Style.STROKE);  
           paint.setStrokeJoin(Paint.Join.ROUND);  
           paint.setStrokeWidth(15f);  
           circlePaint.setAntiAlias(true);  
           circlePaint.setColor(Color.BLUE);  
           circlePaint.setStyle(Paint.Style.STROKE);  
           circlePaint.setStrokeJoin(Paint.Join.MITER);  
           circlePaint.setStrokeWidth(4f);  
           btnReset = new Button(context);  
           btnReset.setText("Bersihkan Layar");  
           params = new LayoutParams(LayoutParams.MATCH_PARENT,  
                     LayoutParams.WRAP_CONTENT);  
           btnReset.setLayoutParams(params);  
           btnReset.setOnClickListener(new View.OnClickListener() {  
                public void onClick(View v) {  
                     // TODO Auto-generated method stub  
                     // resets the screen  
                     path.reset();  
                     // Calls the onDraw() method  
                     postInvalidate();  
                }  
           });  
      }  
      @Override  
      protected void onDraw(Canvas canvas) {  
           canvas.drawPath(path, paint);  
           canvas.drawPath(circlePath, circlePaint);  
      }  
      @Override  
      public boolean onTouchEvent(MotionEvent event) {  
           // Gives you x and y coordinates on the Event.  
           float pointX = event.getX();  
           float pointY = event.getY();  
           // Checks for the event that occurs  
           switch (event.getAction()) {  
           case MotionEvent.ACTION_DOWN:  
                path.moveTo(pointX, pointY);  
                return true;  
           case MotionEvent.ACTION_MOVE:  
                path.lineTo(pointX, pointY);  
                circlePath.reset();  
                circlePath.addCircle(pointX, pointY, 30, Path.Direction.CW);  
                circlePath.addRect(pointX - 25, pointY - 25, pointX + 25, pointY + 25, Path.Direction.CW);  
                break;  
           case MotionEvent.ACTION_UP:  
                circlePath.reset();  
                break;  
           default:  
                return false;  
           }  
           postInvalidate();  
           return true;  
      }  
 }  

ClassAksaraViewDraw

Nah kita hanya perlu menggunakan kedua class tersebut untuk membuat fitur drawing brush. Sekian dulu tentang androidnya, terimakasih dan semoga bermanfaat. 

- Ditulis agar tidak lupa-



No comments :

Post a Comment