Note that there are some explanatory texts on larger screens.

plurals
  1. POhow to clear view in android?
    primarykey
    data
    text
    <p>I have created a simple demo application in android for drawing ,now can any one say me how can i remove view and clear screen in just one click .I have tried as below:please help me to do it....thanx in advance..!</p> <p><strong>main.java</strong></p> <pre><code>package com.example.singletouch; import com.example.singletouch.R.attr; import android.os.Bundle; import android.app.Activity; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Path; import android.view.LayoutInflater; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageView; import android.widget.LinearLayout; public class MainActivity extends Activity { ImageView pen; SingleTouchView mDrawView; ImageView remove; LinearLayout pens; LinearLayout pen1, pen2, pen3, pen4; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mDrawView = (SingleTouchView) findViewById(R.id.myview); pen = (ImageView) findViewById(R.id.pen); pens = (LinearLayout) findViewById(R.id.linear); pens.setVisibility(View.GONE); pen1 = (LinearLayout) findViewById(R.id.pen1); pen2 = (LinearLayout) findViewById(R.id.pen2); pen3 = (LinearLayout) findViewById(R.id.pen3); pen4 = (LinearLayout) findViewById(R.id.pen4); remove=(ImageView)findViewById(R.id.remove); /* * pen1.setOnClickListener(this); pen2.setOnClickListener(this); * pen3.setOnClickListener(this); pen4.setOnClickListener(this); */ pen.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub pens.setVisibility(View.VISIBLE); } });pens.setVisibility(View.GONE); pen1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { mDrawView.setPen(SingleTouchView.DrawingPens.PEN_1); pens.setVisibility(View.GONE); } }); pen2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { mDrawView.setPen(SingleTouchView.DrawingPens.PEN_2); pens.setVisibility(View.GONE); } }); pen3.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { pens.setVisibility(View.GONE); mDrawView.setPen(SingleTouchView.DrawingPens.PEN_3); } }); pen4.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { pens.setVisibility(View.GONE); mDrawView.setPen(SingleTouchView.DrawingPens.PEN_4); } }); remove.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { } }); } } </code></pre> <p><strong>SingleTouchView.java</strong></p> <pre><code> package com.example.singletouch; import java.util.AbstractMap; import java.util.Map; import java.util.concurrent.ConcurrentLinkedQueue; import android.R.color; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Path; import android.graphics.PorterDuff.Mode; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; import android.widget.ImageView; import android.widget.Switch; public class SingleTouchView extends View{ public int width; public int height; public Bitmap mBitmap; public Canvas mCanvas; public Path mPath; public Paint mBitmapPaint; Context context; public Paint circlePaint; public Path circlePath; public enum DrawingPens { PEN_1(6), PEN_2(4), PEN_3(2), PEN_4(1); final public Paint mPaint; /** * Constructor * * @param width width of stroke * @param color color of stroke */ private DrawingPens(final int width) { mPaint = new Paint(); mPaint.setAntiAlias(true); mPaint.setStrokeWidth(width); //mPaint.setColor(color); mPaint.setStyle(Paint.Style.STROKE); mPaint.setStrokeJoin(Paint.Join.ROUND); } /** * @return corresponding paint */ Paint getPaint() { return mPaint; } } public SingleTouchView(final Context context) { super(context); init(context); } public SingleTouchView(final Context context, final AttributeSet attrs) { super(context, attrs); init(context); } public SingleTouchView(final Context context, final AttributeSet attrs, final int defStyle) { super(context, attrs, defStyle); init(context); } /** To store Paint - Path relation */ // TODO: depending on exact limits, more optimal ways can be found private ConcurrentLinkedQueue&lt;Map.Entry&lt;Path, DrawingPens&gt;&gt; mPaths = new ConcurrentLinkedQueue&lt;Map.Entry&lt;Path, DrawingPens&gt;&gt;(); /** Cached current path, &lt;b&gt;NOTE:&lt;/b&gt; this field is tail at mPaths and is used it only for caching, not drawing */ private Path mCurrentPath; /** * Inits internal views data, should be called from every constructor * * @param context {@link Context} */ private void init(final Context context) { /* TODO: if some values of paints cannot be determined in static context (in enum), then Paints should be created here and used via EnumMap */ // Initial pen setPen(DrawingPens.PEN_1); } @Override public void onDraw(Canvas canvas){ // just to draw background super.onDraw(canvas); // Draw all paths for (Map.Entry&lt;Path, DrawingPens&gt; entry : mPaths) { canvas.drawPath(entry.getKey(), entry.getValue().getPaint()); } } @Override public boolean onTouchEvent(MotionEvent me){ float eventX = me.getX(); float eventY = me.getY(); switch (me.getAction()) { case MotionEvent.ACTION_DOWN: mCurrentPath.moveTo(eventX, eventY); return true; case MotionEvent.ACTION_MOVE: mCurrentPath.lineTo(eventX, eventY); break; case MotionEvent.ACTION_UP: break; } invalidate(); return true; } /** * Setter for new pen * * @param pen {@link DrawingPens} to be used for next drawing */ public void setPen(final DrawingPens pen) { // put latest item to the queue mCurrentPath = new Path(); mPaths.add(new AbstractMap.SimpleImmutableEntry&lt;Path, DrawingPens&gt;(mCurrentPath, pen)); } public void clear(View v){ } } </code></pre> <p><strong>main.xml</strong></p> <pre><code>&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" tools:context=".MainActivity" &gt; &lt;com.example.singletouch.SingleTouchView android:id="@+id/myview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_above="@+id/pen" /&gt; &lt;LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:background="@drawable/menubar" android:padding="2dp" android:weightSum="4" &gt; &lt;ImageView android:id="@+id/pen" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_alignParentBottom="true" android:layout_weight="1" android:gravity="center" android:src="@drawable/pen" /&gt; &lt;ImageView android:id="@+id/eraser" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_alignParentBottom="true" android:layout_weight="1" android:src="@drawable/eraser" /&gt; &lt;ImageView android:id="@+id/color" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_alignParentBottom="true" android:layout_weight="1" android:src="@drawable/color" /&gt; &lt;ImageView android:id="@+id/remove" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_alignParentBottom="true" android:layout_weight="1" android:src="@drawable/remove" /&gt; &lt;/LinearLayout&gt; &lt;LinearLayout android:id="@+id/linear" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_above="@+id/linearLayout1" android:layout_alignParentLeft="true" android:background="#eeeeee" android:orientation="horizontal" android:visibility="gone" android:weightSum="4" &gt; &lt;LinearLayout android:id="@+id/pen1" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1" android:gravity="center" &gt; &lt;ImageView android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/pen1" /&gt; &lt;/LinearLayout&gt; &lt;LinearLayout android:id="@+id/pen2" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1" android:gravity="center" &gt; &lt;ImageView android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/pen2" /&gt; &lt;/LinearLayout&gt; &lt;LinearLayout android:id="@+id/pen3" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1" android:gravity="center" &gt; &lt;ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:src="@drawable/pen3" /&gt; &lt;/LinearLayout&gt; &lt;LinearLayout android:id="@+id/pen4" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1" android:gravity="center" &gt; &lt;ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:src="@drawable/pen4" /&gt; &lt;/LinearLayout&gt; &lt;/LinearLayout&gt; &lt;/RelativeLayout&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload